- Type Parameters:
T- the type of the primary entity class of the repository.K- the type of the unique identifier field of property of the primary entity.
- All Known Subinterfaces:
BasicRepository<T,,K> CrudRepository<T,K>
public interface DataRepository<T,K>
A built-in repository supertype that is the root of all other built-in repository supertype interfaces.
The type parameters of DataRepository<T,K> capture the primary entity type (T)
for the repository and the type (K) of the field or property of the entity which uniquely
identifies each entity of that type.
The primary entity type is used for repository methods, such as countBy...
and deleteBy..., which do not explicitly specify an entity type.
Example entity:
@Entitypublic class DriverLicense {@Idpublic String licenseNum; public LocalDate expiry; ... }
Example repository:
@Repositorypublic interface DriverLicenses extends DataRepository<DriverLicense, String>{ boolean existsByLicenseNumAndExpiryGreaterThan(String num, LocalDate minExpiry);@InsertDriverLicense register(DriverLicense l);@Updateboolean renew(DriverLicense l); ... }
Example usage:
@Inject
DriverLicenses licenses;
...
DriverLicense license = ...
license = licenses.register(license);
boolean isValid = licenses.existsByLicenseNumAndExpiryGreaterThan(license.licenseNum,
LocalDate.now());
The module Javadoc provides an overview of Jakarta Data.