Package io.jmix.core.repository
Interface JmixDataRepository<T,ID>
- Type Parameters:
T- the domain type the repository managesID- the type of the id of the entity the repository manages
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<T,,ID> org.springframework.data.repository.ListCrudRepository<T,,ID> org.springframework.data.repository.ListPagingAndSortingRepository<T,,ID> org.springframework.data.repository.PagingAndSortingRepository<T,,ID> org.springframework.data.repository.Repository<T,ID>
- All Known Implementing Classes:
JmixDataRepositoryImpl
@NoRepositoryBean
public interface JmixDataRepository<T,ID>
extends org.springframework.data.repository.ListPagingAndSortingRepository<T,ID>, org.springframework.data.repository.ListCrudRepository<T,ID>
Central Jmix data repository interface.
Extends functionality of ListPagingAndSortingRepository and ListCrudRepository by adding
Jmix-specific parameters and methods.
- See Also:
-
PagingAndSortingRepository
-
Method Summary
Modifier and TypeMethodDescriptionlongcount(JmixDataRepositoryContext context) Returns the number of entities satisfyingcontextavailable.create()Instantiate an entity.Returns all instances of the typeTloaded according tofetchPlanfindAll(JmixDataRepositoryContext context) Returns all instances of the typeTloaded bycontextReturns all instances of the typeTwith the given IDs loaded according tofetchPlanorg.springframework.data.domain.Page<T>Returns aPageof entities meeting the paging restriction provided in thePageableobject.org.springframework.data.domain.Page<T>findAll(org.springframework.data.domain.Pageable pageable, JmixDataRepositoryContext jmixContext) Returns aPageof entities meeting the paging restriction provided in thePageableobject.Returns all entities sorted by the given options and loaded by specified FetchPlan.org.springframework.data.domain.Slice<T>findAllSlice(org.springframework.data.domain.Pageable pageable, FetchPlan fetchPlan) Returns aSliceof entities meeting the paging restriction provided in thePageableobject.org.springframework.data.domain.Slice<T>findAllSlice(org.springframework.data.domain.Pageable pageable, JmixDataRepositoryContext jmixContext) Returns aSliceof entities meeting the paging restriction provided in thePageableobject.Loads an entity by itsidaccording tofetchPlanLoads an entity by itsidLoads an entity by itsidaccording tofetchPlan<S extends T>
SSaves theentityand returns saved instance loaded with specifiedfetchPlan.Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAll
-
Method Details
-
create
T create()Instantiate an entity. InvokesMetadata.create(Class)- Returns:
- new instance of
<T>.
-
findById
Loads an entity by itsidaccording tofetchPlan- Parameters:
id- must not be null.- Returns:
- the entity with the given id or Optional#empty() if none found.
-
getById
Loads an entity by itsidaccording tofetchPlan- Parameters:
id- must not be null.- Returns:
- the entity with the given id
- Throws:
NoResultException- if nothing was loaded
-
getById
Loads an entity by itsid- Parameters:
id- must not be null.- Returns:
- the entity with the given id
- Throws:
NoResultException- if nothing was loaded
-
findAll
Returns all instances of the typeTloaded according tofetchPlan- Returns:
- all entities
-
findAll
Returns all instances of the typeTloaded bycontext- Returns:
- entities by context
- See Also:
-
findAll
Returns all instances of the typeTwith the given IDs loaded according tofetchPlanIf some or all ids are not found, no entities are returned for these IDs.
- Parameters:
fetchPlan- defines entity graph to load.FetchPlan.BASEwill be used instead in case of null.ids- must not be null nor contain any null values.- Returns:
- guaranteed to be not null. The size can be equal or less than the number of given ids.
- Throws:
IllegalArgumentException- in case the givenidsor one of its items is null.
-
findAll
Returns all entities sorted by the given options and loaded by specified FetchPlan.- Parameters:
fetchPlan- to load entity.FetchPlan.BASEwill be used iffetchPlan == null- Returns:
- all entities sorted by the given options
-
findAll
org.springframework.data.domain.Page<T> findAll(org.springframework.data.domain.Pageable pageable, @Nullable FetchPlan fetchPlan) Returns aPageof entities meeting the paging restriction provided in thePageableobject. Entities will be loaded according to passedfetchPlan.Consider using
findAllSlice(Pageable, FetchPlan)if you don't need the total number of items and pages to avoid additional request for count to the database.- Parameters:
fetchPlan- to load entities.FetchPlan.BASEwill be used iffetchPlan == null- Returns:
- a page of entities
-
findAllSlice
org.springframework.data.domain.Slice<T> findAllSlice(org.springframework.data.domain.Pageable pageable, @Nullable FetchPlan fetchPlan) Returns aSliceof entities meeting the paging restriction provided in thePageableobject. Entities will be loaded according to passedfetchPlan- Parameters:
fetchPlan- to load entities.FetchPlan.BASEwill be used iffetchPlan == null- Returns:
- a page of entities
-
findAll
org.springframework.data.domain.Page<T> findAll(org.springframework.data.domain.Pageable pageable, JmixDataRepositoryContext jmixContext) Returns aPageof entities meeting the paging restriction provided in thePageableobject. Entities will be loaded according to passedparamsConsider using
findAllSlice(Pageable, FetchPlan)if you don't need the total number of items and pages to avoid additional request for count to the database.- Parameters:
jmixContext-JmixDataRepositoryContextto load entities.- Returns:
- a page of entities
-
findAllSlice
org.springframework.data.domain.Slice<T> findAllSlice(org.springframework.data.domain.Pageable pageable, JmixDataRepositoryContext jmixContext) Returns aSliceof entities meeting the paging restriction provided in thePageableobject. Entities will be loaded according to passedparams- Parameters:
jmixContext-JmixDataRepositoryContextto load entities.- Returns:
- a page of entities
-
count
Returns the number of entities satisfyingcontextavailable.- Returns:
- the number of entities satisfying
context.
-
save
Saves theentityand returns saved instance loaded with specifiedfetchPlan.- Parameters:
entity- entity to save. Must not be nullfetchPlan-FetchPlanto reload saved entity with. Must be applicable toentity- Throws:
IllegalArgumentException- iffetchPlanis not applicable to entity
-
getDataManager
DataManager getDataManager()- Returns:
DataManagerto use in default methods.
-