Package io.helidon.data
package io.helidon.data
Helidon Data Repository.
Helidon Data provides a unified repository API for database operations. Repository interfaces are translated into implementing classes at compile time.
A repository interface can extend Data.GenericRepository to identify its entity and
identifier types. A persistence provider may also support repository interfaces annotated with
Data.Repository that do not declare these types at the repository level.
Depending on the persistence provider, repository operations can be defined in three ways:
- annotating a method with
Data.Query - deriving a query from the method name
- extending a standard repository interface that provides common operations or capabilities:
Data.BasicRepositoryfor a basic set of entity operationsData.CrudRepositoryfor entity CRUD operationsData.PageableRepositoryfor pageable alternatives toData.BasicRepository.findAll()Data.SessionRepositoryfor access to a persistence provider session, such asjakarta.persistence.EntityManager
-
ClassDescriptionHelidon Data Repository annotations and interfaces.Data.BasicRepository<E,
ID> Data repository interface for basic entity operations.Data.CrudRepository<E,ID> Data repository interface for CRUD entity operations.Data.GenericRepository<E,ID> Marker interface for a data repository that declares an entity type and its identifier type.Data.PageableRepository<E,ID> AData.GenericRepositorythat supports pagination.Repository persistence unit name.Provider used to implement the repository.Qualifier used in generated code to reference which provider type to use when creating instances of repositories, such aseclipselink, jakarta, sql.User supplied query.Repository interface.Data repository interface with persistence provider session support.ARuntimeExceptionthat indicates an operation on a data repository has failed.Thrown when persistence entity being inserted already exists.Thrown when requested persistence entity cannot be found.Thrown when a query was expected to produce exactly one record but produced many instead.Thrown when a query was expected to produce a result, but did not.Thrown when an optimistic locking conflict occurs.Single rule of the dynamic ordering of the query result.Fluent API builder forOrder.Fluent API builder base forOrder.Generated implementation of the prototype, can be extended by descendant prototype implementations.Direction of the query result ordering.Page<T>Pageable query result as pages with total size of the result.Request pageable query result as page with page number and size.Fluent API builder forPageRequest.PageRequest.BuilderBase<BUILDER extends PageRequest.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends PageRequest>Fluent API builder base forPageRequest.Generated implementation of the prototype, can be extended by descendant prototype implementations.Slice<T>Pageable query result as pages without total size of the result.Dynamic ordering of the query result.Fluent API builder forSort.Fluent API builder base forSort.Generated implementation of the prototype, can be extended by descendant prototype implementations.