- 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:
@Entity
public class DriverLicense {@Id
public String licenseNum; public LocalDate expiry; ... }
Example repository:
@Repository
public interface DriverLicenses extends DataRepository<DriverLicense, String>
{ boolean existsByLicenseNumAndExpiryGreaterThan(String num, LocalDate minExpiry);@Insert
DriverLicense register(DriverLicense l);@Update
boolean 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.