Skip to content

Commit addd80a

Browse files
committed
minor refactoring
remove unnecessary internal use of TransactionImplementor
1 parent 2d5f845 commit addd80a

File tree

4 files changed

+41
-35
lines changed

4 files changed

+41
-35
lines changed

hibernate-core/src/main/java/org/hibernate/internal/AbstractSharedSessionContract.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import org.hibernate.engine.spi.SessionFactoryImplementor;
5050
import org.hibernate.engine.spi.SharedSessionContractImplementor;
5151
import org.hibernate.engine.transaction.internal.TransactionImpl;
52-
import org.hibernate.engine.transaction.spi.TransactionImplementor;
5352
import org.hibernate.event.monitor.spi.EventMonitor;
5453
import org.hibernate.graph.RootGraph;
5554
import org.hibernate.graph.internal.RootGraphImpl;
@@ -62,7 +61,9 @@
6261
import org.hibernate.jpa.spi.NativeQueryListTransformer;
6362
import org.hibernate.jpa.spi.NativeQueryMapTransformer;
6463
import org.hibernate.jpa.spi.NativeQueryTupleTransformer;
64+
import org.hibernate.metamodel.MappingMetamodel;
6565
import org.hibernate.metamodel.model.domain.ManagedDomainType;
66+
import org.hibernate.persister.collection.CollectionPersister;
6667
import org.hibernate.persister.entity.EntityPersister;
6768
import org.hibernate.procedure.ProcedureCall;
6869
import org.hibernate.procedure.internal.ProcedureCallImpl;
@@ -158,7 +159,7 @@ public abstract class AbstractSharedSessionContract implements SharedSessionCont
158159
private transient JdbcSessionContext jdbcSessionContext;
159160
private transient JdbcCoordinator jdbcCoordinator;
160161

161-
private transient TransactionImplementor currentHibernateTransaction;
162+
private transient Transaction currentHibernateTransaction;
162163
private transient TransactionCoordinator transactionCoordinator;
163164
private transient CacheTransactionSynchronization cacheTransactionSync;
164165

@@ -679,7 +680,7 @@ protected void delayedAfterCompletion() {
679680
}
680681
}
681682

682-
protected TransactionImplementor getCurrentTransaction() {
683+
protected Transaction getCurrentTransaction() {
683684
return currentHibernateTransaction;
684685
}
685686

@@ -1002,7 +1003,7 @@ else if ( Map.class.equals( resultClass ) ) {
10021003
else if ( List.class.equals( resultClass ) ) {
10031004
query.setTupleTransformer( NativeQueryListTransformer.INSTANCE );
10041005
}
1005-
else if ( getFactory().getMappingMetamodel().isEntityClass( resultClass ) ) {
1006+
else if ( getMappingMetamodel().isEntityClass( resultClass ) ) {
10061007
query.addEntity( resultClass, LockMode.READ );
10071008
}
10081009
else if ( resultClass != Object.class && resultClass != Object[].class ) {
@@ -1016,6 +1017,22 @@ else if ( resultClass != Object.class && resultClass != Object[].class ) {
10161017
}
10171018
}
10181019

1020+
final EntityPersister requireEntityPersister(Class<?> entityClass) {
1021+
return getMappingMetamodel().getEntityDescriptor( entityClass );
1022+
}
1023+
1024+
final EntityPersister requireEntityPersister(String entityName) {
1025+
return getMappingMetamodel().getEntityDescriptor( entityName );
1026+
}
1027+
1028+
final CollectionPersister requireCollectionPersister(String roleName) {
1029+
return getMappingMetamodel().getCollectionDescriptor( roleName );
1030+
}
1031+
1032+
private MappingMetamodel getMappingMetamodel() {
1033+
return getFactory().getMappingMetamodel();
1034+
}
1035+
10191036
private <T> boolean hasJavaTypeDescriptor(Class<T> resultClass) {
10201037
final JavaType<Object> descriptor = getTypeConfiguration().getJavaTypeRegistry().findDescriptor( resultClass );
10211038
return descriptor != null && descriptor.getClass() != UnknownBasicJavaType.class;
@@ -1025,7 +1042,7 @@ private <T> boolean hasJavaTypeDescriptor(Class<T> resultClass) {
10251042
public <T> NativeQueryImplementor<T> createNativeQuery(String sqlString, Class<T> resultClass, String tableAlias) {
10261043
@SuppressWarnings("unchecked")
10271044
final NativeQueryImplementor<T> query = createNativeQuery( sqlString );
1028-
if ( getFactory().getMappingMetamodel().isEntityClass( resultClass ) ) {
1045+
if ( getMappingMetamodel().isEntityClass( resultClass ) ) {
10291046
query.addEntity( tableAlias, resultClass.getName(), LockMode.READ );
10301047
return query;
10311048
}

hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.hibernate.SessionException;
5151
import org.hibernate.SharedSessionBuilder;
5252
import org.hibernate.SimpleNaturalIdLoadAccess;
53+
import org.hibernate.Transaction;
5354
import org.hibernate.TypeMismatchException;
5455
import org.hibernate.UnknownProfileException;
5556
import org.hibernate.UnresolvableObjectException;
@@ -70,7 +71,6 @@
7071
import org.hibernate.engine.spi.SessionFactoryImplementor;
7172
import org.hibernate.engine.spi.SessionImplementor;
7273
import org.hibernate.engine.spi.SharedSessionContractImplementor;
73-
import org.hibernate.engine.transaction.spi.TransactionImplementor;
7474
import org.hibernate.event.service.spi.EventListenerGroups;
7575
import org.hibernate.event.spi.AutoFlushEvent;
7676
import org.hibernate.event.spi.AutoFlushEventListener;
@@ -2271,15 +2271,15 @@ public JdbcCoordinator getJdbcCoordinator() {
22712271
}
22722272

22732273
@Override
2274-
public TransactionImplementor getTransaction() {
2274+
public Transaction getTransaction() {
22752275
return shareTransactionContext ? session.getCurrentTransaction() : null;
22762276
}
22772277

22782278
@Override
22792279
public TransactionCompletionProcesses getTransactionCompletionProcesses() {
2280-
return shareTransactionContext ?
2281-
session.getActionQueue().getTransactionCompletionProcesses() :
2282-
null;
2280+
return shareTransactionContext
2281+
? session.getActionQueue().getTransactionCompletionProcesses()
2282+
: null;
22832283
}
22842284
}
22852285

@@ -2316,14 +2316,6 @@ protected void removeSharedSessionTransactionObserver(TransactionCoordinator tra
23162316
transactionCoordinator.removeObserver( transactionObserver );
23172317
}
23182318

2319-
private EntityPersister requireEntityPersister(Class<?> entityClass) {
2320-
return getFactory().getMappingMetamodel().getEntityDescriptor( entityClass );
2321-
}
2322-
2323-
private EntityPersister requireEntityPersister(String entityName) {
2324-
return getFactory().getMappingMetamodel().getEntityDescriptor( entityName );
2325-
}
2326-
23272319
@Override
23282320
public void startTransactionBoundary() {
23292321
checkOpenOrWaitingForAutoClose();
@@ -2360,7 +2352,8 @@ private boolean isTransactionFlushable() {
23602352
}
23612353
else {
23622354
final TransactionStatus status = getCurrentTransaction().getStatus();
2363-
return status == TransactionStatus.ACTIVE || status == TransactionStatus.COMMITTING;
2355+
return status == TransactionStatus.ACTIVE
2356+
|| status == TransactionStatus.COMMITTING;
23642357
}
23652358
}
23662359

hibernate-core/src/main/java/org/hibernate/internal/SharedSessionCreationOptions.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
*/
55
package org.hibernate.internal;
66

7+
import org.hibernate.Transaction;
78
import org.hibernate.engine.jdbc.spi.JdbcCoordinator;
89
import org.hibernate.engine.spi.ActionQueue;
9-
import org.hibernate.engine.transaction.spi.TransactionImplementor;
1010
import org.hibernate.resource.transaction.spi.TransactionCoordinator;
1111

1212
/**
13-
* An extension of SessionCreationOptions for cases where the Session to be created shares
14-
* some part of the "transaction context" of another Session.
13+
* An extension of {@link SessionCreationOptions} for cases where the
14+
* session to be created shares some part of the "transaction context"
15+
* of another session.
1516
*
1617
* @author Steve Ebersole
1718
*
@@ -21,6 +22,6 @@ public interface SharedSessionCreationOptions extends SessionCreationOptions {
2122
boolean isTransactionCoordinatorShared();
2223
TransactionCoordinator getTransactionCoordinator();
2324
JdbcCoordinator getJdbcCoordinator();
24-
TransactionImplementor getTransaction();
25+
Transaction getTransaction();
2526
ActionQueue.TransactionCompletionProcesses getTransactionCompletionProcesses();
2627
}

hibernate-core/src/main/java/org/hibernate/internal/StatelessSessionImpl.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -709,7 +709,7 @@ public Object get(String entityName, Object id) {
709709
public Object get(String entityName, Object id, LockMode lockMode) {
710710
checkOpen();
711711

712-
final EntityPersister persister = getEntityPersister( entityName );
712+
final EntityPersister persister = requireEntityPersister( entityName );
713713
if ( persister.canReadFromCache() ) {
714714
final Object cachedEntity =
715715
loadFromSecondLevelCache( this, null, lockMode, persister,
@@ -757,7 +757,7 @@ public <T> List<T> getMultiple(Class<T> entityClass, List<Object> ids) {
757757
throw new IllegalArgumentException("Null id");
758758
}
759759
}
760-
final EntityPersister persister = getEntityPersister( entityClass.getName() );
760+
final EntityPersister persister = requireEntityPersister( entityClass.getName() );
761761
final JpaCriteriaQuery<T> query = getCriteriaBuilder().createQuery(entityClass);
762762
final JpaRoot<T> from = query.from(entityClass);
763763
query.where( from.get( persister.getIdentifierPropertyName() ).in(ids) );
@@ -774,10 +774,6 @@ public <T> List<T> getMultiple(Class<T> entityClass, List<Object> ids) {
774774
return list;
775775
}
776776

777-
private EntityPersister getEntityPersister(String entityName) {
778-
return getFactory().getMappingMetamodel().getEntityDescriptor( entityName );
779-
}
780-
781777
@Override
782778
public void refresh(Object entity) {
783779
refresh( bestGuessEntityName( entity ), entity, LockMode.NONE );
@@ -868,7 +864,7 @@ public void initializeCollection(PersistentCollection<?> collection, boolean wri
868864

869865
@Override
870866
public Object instantiate(String entityName, Object id) {
871-
return instantiate( getEntityPersister( entityName ), id );
867+
return instantiate( requireEntityPersister( entityName ), id );
872868
}
873869

874870
@Override
@@ -885,7 +881,7 @@ public Object internalLoad(
885881
boolean nullable) {
886882
checkOpen();
887883

888-
final EntityPersister persister = getEntityPersister( entityName );
884+
final EntityPersister persister = requireEntityPersister( entityName );
889885
final EntityKey entityKey = generateEntityKey( id, persister );
890886

891887
// first, try to load it from the temp PC associated to this SS
@@ -1015,8 +1011,7 @@ else if ( isPersistentAttributeInterceptable( association ) ) {
10151011
}
10161012
else if ( association instanceof PersistentCollection<?> collection ) {
10171013
if ( !collection.wasInitialized() ) {
1018-
final CollectionPersister collectionDescriptor = getFactory().getMappingMetamodel()
1019-
.getCollectionDescriptor( collection.getRole() );
1014+
final CollectionPersister collectionDescriptor = requireCollectionPersister( collection.getRole() );
10201015
final Object key = collection.getKey();
10211016
persistenceContext.addUninitializedCollection( collectionDescriptor, collection, key );
10221017
collection.setCurrentSession( this );
@@ -1109,8 +1104,8 @@ public String guessEntityName(Object entity) {
11091104
public EntityPersister getEntityPersister(String entityName, Object object) {
11101105
checkOpen();
11111106
return entityName == null
1112-
? getEntityPersister( guessEntityName( object ) )
1113-
: getEntityPersister( entityName ).getSubclassEntityPersister( object, getFactory() );
1107+
? requireEntityPersister( guessEntityName( object ) )
1108+
: requireEntityPersister( entityName ).getSubclassEntityPersister( object, getFactory() );
11141109
}
11151110

11161111
@Override

0 commit comments

Comments
 (0)