Package io.jmix.eclipselink.impl
Class JpaDataStore
java.lang.Object
io.jmix.core.datastore.AbstractDataStore
io.jmix.eclipselink.impl.JpaDataStore
- All Implemented Interfaces:
- DataSortingOptions,- DataStore
@Component("eclipselink_JpaDataStore")
@Scope("prototype")
public class JpaDataStore
extends AbstractDataStore
implements DataSortingOptions
INTERNAL.
 Implementation of the 
DataStore interface working with a relational database using JPA.- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classHelps to distinguish newly loaded entities (including implicitly loaded) from already existed.Nested classes/interfaces inherited from class io.jmix.core.datastore.AbstractDataStoreAbstractDataStore.EntityLoadInfo, AbstractDataStore.TransactionContextState
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected AccessManagerprotected org.springframework.context.ApplicationContextprotected DbmsSpecificsprotected EntityChangedEventManagerprotected EntityEventManagerprotected ExtendedEntitiesprotected FetchPlanRepositoryprotected FetchPlansprotected org.springframework.beans.factory.ObjectProvider<JpqlQueryBuilder>static final Stringprotected EclipselinkPersistenceSupportprotected DataPropertiesprotected QueryResultsManagerprotected QueryTransformerFactorystatic final Stringprotected StoreAwareLocatorprotected Stringprotected static final AtomicLongFields inherited from class io.jmix.core.datastore.AbstractDataStoreentityStates, keyValueMapper, listeners, metadata, metadataTools
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidbeforeLoadTransactionCommit(LoadContext<?> context, Collection<Object> entities, AbstractDataStore.TransactionContextState transactionContextState) protected voidbeforeSaveTransactionCommit(SaveContext context, Collection<Object> savedEntities, Collection<Object> removedEntities) protected voidbeforeSaveTransactionRollback(SaveContext context) protected ObjectbeginLoadTransaction(boolean joinTransaction) protected ObjectbeginSaveTransaction(boolean joinTransaction) protected voidcommitTransaction(Object transaction) protected longcountAll(LoadContext<?> context) protected longcountAllValues(ValueLoadContext context) protected FetchPlancreateFetchPlan(LoadContext<?> context) protected jakarta.persistence.QuerycreateLoadQuery(jakarta.persistence.EntityManager em, ValueLoadContext context, boolean count) protected jakarta.persistence.QuerycreateQuery(jakarta.persistence.EntityManager em, LoadContext<?> context, boolean countQuery) deleteAll(SaveContext context) protected <E> voiddetachEntity(jakarta.persistence.EntityManager em, E rootEntity, FetchPlan fetchPlan, boolean loadedOnly) executeQuery(jakarta.persistence.Query query, boolean singleResult) getName()This data store instance name with which it is registered inStores.protected JpaDataStore.JpaTransactionContextStategetTransactionContextState(boolean isJoinTransaction) Invoked afterAbstractDataStore.beginLoadTransaction(boolean).protected Patternbooleanprotected booleanisSingleResult(LoadContext<?> context) loadAll(LoadContext<?> context) loadAllByIdBatches(LoadContext<?> context, jakarta.persistence.EntityManager em) loadAllByIds(LoadContext<?> context, jakarta.persistence.EntityManager em) loadAllValues(ValueLoadContext context) protected ObjectloadOne(LoadContext<?> context) protected StringresolveConstraintName(Matcher matcher) protected voidrollbackTransaction(Object transaction) Set<?>save(SaveContext context) Saves a collection of entity instances.saveAll(SaveContext context) voidSets this data store instance name with which it is registered inStores.booleanMethods inherited from class io.jmix.core.datastore.AbstractDataStorecheckAndReorderLoadedEntities, copyNonPersistentAttributes, fireEvent, getCount, getCount, getFetchPlanForSave, load, loadAllAfterSave, loadList, loadListByBatches, loadValues, registerInterceptor, setEntityStates, setKeyValueMapper, setMetadata, setMetadataTools
- 
Field Details- 
LOAD_TX_PREFIX- See Also:
 
- 
SAVE_TX_PREFIX- See Also:
 
- 
properties
- 
fetchPlans
- 
accessManager
- 
queryResultsManager
- 
queryTransformerFactory
- 
entityChangedEventManager
- 
entityEventManager
- 
dbmsSpecifics
- 
storeAwareLocator
- 
applicationContext@Autowired protected org.springframework.context.ApplicationContext applicationContext
- 
extendedEntities
- 
jpqlQueryBuilderProvider@Autowired protected org.springframework.beans.factory.ObjectProvider<JpqlQueryBuilder> jpqlQueryBuilderProvider
- 
persistenceSupport
- 
fetchPlanRepository
- 
storeName
- 
txCount
 
- 
- 
Constructor Details- 
JpaDataStorepublic JpaDataStore()
 
- 
- 
Method Details- 
getNameDescription copied from interface:DataStoreThis data store instance name with which it is registered inStores.
- 
setNameDescription copied from interface:DataStoreSets this data store instance name with which it is registered inStores.
- 
loadOne- Specified by:
- loadOnein class- AbstractDataStore
 
- 
loadAll- Specified by:
- loadAllin class- AbstractDataStore
 
- 
loadAllByIds
- 
loadAllByIdBatchesprotected List<Object> loadAllByIdBatches(LoadContext<?> context, jakarta.persistence.EntityManager em) 
- 
countAll- Specified by:
- countAllin class- AbstractDataStore
 
- 
saveDescription copied from interface:DataStoreSaves a collection of entity instances.- Specified by:
- savein interface- DataStore
- Overrides:
- savein class- AbstractDataStore
- Returns:
- set of saved instances
 
- 
saveAll- Specified by:
- saveAllin class- AbstractDataStore
 
- 
deleteAll- Specified by:
- deleteAllin class- AbstractDataStore
 
- 
loadAllValues- Specified by:
- loadAllValuesin class- AbstractDataStore
 
- 
countAllValues- Specified by:
- countAllValuesin class- AbstractDataStore
 
- 
beginLoadTransaction- Specified by:
- beginLoadTransactionin class- AbstractDataStore
 
- 
getTransactionContextStateprotected JpaDataStore.JpaTransactionContextState getTransactionContextState(boolean isJoinTransaction) Description copied from class:AbstractDataStoreInvoked afterAbstractDataStore.beginLoadTransaction(boolean).
 Override this method to createAbstractDataStore.TransactionContextStateimplementation and store required data in it.- Specified by:
- getTransactionContextStatein class- AbstractDataStore
 
- 
beforeLoadTransactionCommitprotected void beforeLoadTransactionCommit(LoadContext<?> context, Collection<Object> entities, AbstractDataStore.TransactionContextState transactionContextState) - Overrides:
- beforeLoadTransactionCommitin class- AbstractDataStore
 
- 
rollbackTransaction- Specified by:
- rollbackTransactionin class- AbstractDataStore
 
- 
commitTransaction- Specified by:
- commitTransactionin class- AbstractDataStore
 
- 
beginSaveTransaction- Specified by:
- beginSaveTransactionin class- AbstractDataStore
 
- 
beforeSaveTransactionCommitprotected void beforeSaveTransactionCommit(SaveContext context, Collection<Object> savedEntities, Collection<Object> removedEntities) - Overrides:
- beforeSaveTransactionCommitin class- AbstractDataStore
 
- 
beforeSaveTransactionRollback- Overrides:
- beforeSaveTransactionRollbackin class- AbstractDataStore
 
- 
createQueryprotected jakarta.persistence.Query createQuery(jakarta.persistence.EntityManager em, LoadContext<?> context, boolean countQuery) 
- 
createLoadQueryprotected jakarta.persistence.Query createLoadQuery(jakarta.persistence.EntityManager em, ValueLoadContext context, boolean count) 
- 
createFetchPlan
- 
executeQuery
- 
detachEntityprotected <E> void detachEntity(jakarta.persistence.EntityManager em, @Nullable E rootEntity, @Nullable FetchPlan fetchPlan, boolean loadedOnly) 
- 
isSingleResult- Parameters:
- context- - loading context
- Returns:
- false if maxResults=1 and the query is not by ID we should not use getSingleResult() for backward compatibility
 
- 
isNullsLastSortingpublic boolean isNullsLastSorting()- Specified by:
- isNullsLastSortingin interface- DataSortingOptions
- Returns:
- default sort order of null values
 
- 
supportsLobSortingAndFilteringpublic boolean supportsLobSortingAndFiltering()- Specified by:
- supportsLobSortingAndFilteringin interface- DataSortingOptions
- Returns:
- true if the data store supports equality check and sorting for LOB columns
 
- 
getUniqueConstraintViolationPattern
- 
resolveConstraintName
 
-