Skip to content

Commit 2a904a4

Browse files
committed
fix a minor typing issue in SessionFactoryImpl
1 parent fc9229e commit 2a904a4

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import javax.naming.Reference;
2828
import javax.naming.StringRefAddr;
2929

30+
import org.hibernate.AssertionFailure;
3031
import org.hibernate.CustomEntityDirtinessStrategy;
3132
import org.hibernate.EntityNameResolver;
3233
import org.hibernate.FlushMode;
@@ -93,13 +94,11 @@
9394
import org.hibernate.query.hql.spi.SqmQueryImplementor;
9495
import org.hibernate.query.internal.QueryEngineImpl;
9596
import org.hibernate.query.named.NamedObjectRepository;
96-
import org.hibernate.query.named.NamedQueryMemento;
9797
import org.hibernate.query.spi.QueryEngine;
9898
import org.hibernate.query.spi.QueryImplementor;
9999
import org.hibernate.query.sql.spi.NativeQueryImplementor;
100100
import org.hibernate.query.sqm.NodeBuilder;
101101
import org.hibernate.query.sqm.function.SqmFunctionRegistry;
102-
import org.hibernate.query.sqm.spi.NamedSqmQueryMemento;
103102
import org.hibernate.relational.SchemaManager;
104103
import org.hibernate.relational.internal.SchemaManagerImpl;
105104
import org.hibernate.resource.jdbc.spi.PhysicalConnectionHandlingMode;
@@ -923,8 +922,8 @@ public PersistenceUnitTransactionType getTransactionType() {
923922
public void addNamedQuery(String name, Query query) {
924923
validateNotClosed();
925924

926-
// NOTE : we use Query#unwrap here (rather than direct type checking) to account for possibly wrapped
927-
// query implementations
925+
// NOTE : we use Query#unwrap here (rather than direct type checking)
926+
// to account for possibly wrapped query implementations
928927

929928
// first, handle StoredProcedureQuery
930929
final NamedObjectRepository namedObjectRepository = getQueryEngine().getNamedObjectRepository();
@@ -941,24 +940,25 @@ public void addNamedQuery(String name, Query query) {
941940

942941
// then try as a native-SQL or JPQL query
943942
try {
944-
final QueryImplementor<?> hibernateQuery = query.unwrap( QueryImplementor.class );
945-
if ( hibernateQuery != null ) {
943+
final QueryImplementor<?> queryImplementor = query.unwrap( QueryImplementor.class );
944+
if ( queryImplementor != null ) {
946945
// create and register the proper NamedQueryDefinition...
947-
if ( hibernateQuery instanceof NativeQueryImplementor ) {
946+
if ( queryImplementor instanceof NativeQueryImplementor<?> nativeQueryImplementor ) {
948947
namedObjectRepository.registerNativeQueryMemento(
949948
name,
950-
( (NativeQueryImplementor<?>) hibernateQuery ).toMemento( name )
949+
nativeQueryImplementor.toMemento( name )
951950
);
952951

953952
}
954-
else {
955-
final NamedQueryMemento namedQueryMemento =
956-
( (SqmQueryImplementor<?>) hibernateQuery ).toMemento( name );
953+
else if ( queryImplementor instanceof SqmQueryImplementor<?> sqmQueryImplementor ) {
957954
namedObjectRepository.registerSqmQueryMemento(
958955
name,
959-
(NamedSqmQueryMemento) namedQueryMemento
956+
sqmQueryImplementor.toMemento( name )
960957
);
961958
}
959+
else {
960+
throw new AssertionFailure("unknown QueryImplementor");
961+
}
962962
return;
963963
}
964964
}

hibernate-core/src/main/java/org/hibernate/query/hql/spi/SqmQueryImplementor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
import org.hibernate.query.ResultListTransformer;
2424
import org.hibernate.query.TupleTransformer;
2525
import org.hibernate.query.named.NameableQuery;
26-
import org.hibernate.query.named.NamedQueryMemento;
2726
import org.hibernate.query.spi.ParameterMetadataImplementor;
2827
import org.hibernate.query.spi.QueryImplementor;
2928
import org.hibernate.query.spi.SqmQuery;
29+
import org.hibernate.query.sqm.spi.NamedSqmQueryMemento;
3030
import org.hibernate.query.sqm.tree.SqmStatement;
3131
import org.hibernate.transform.ResultTransformer;
3232

@@ -42,7 +42,7 @@
4242
*/
4343
public interface SqmQueryImplementor<R> extends QueryImplementor<R>, SqmQuery, NameableQuery {
4444
@Override
45-
NamedQueryMemento<R> toMemento(String name);
45+
NamedSqmQueryMemento<R> toMemento(String name);
4646

4747
@Override
4848
ParameterMetadataImplementor getParameterMetadata();

hibernate-core/src/main/java/org/hibernate/query/sqm/internal/QuerySqmImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import org.hibernate.query.hql.spi.SqmQueryImplementor;
5656
import org.hibernate.query.internal.DelegatingDomainQueryExecutionContext;
5757
import org.hibernate.query.internal.ParameterMetadataImpl;
58-
import org.hibernate.query.named.NamedQueryMemento;
5958
import org.hibernate.query.spi.DelegatingQueryOptions;
6059
import org.hibernate.query.spi.DomainQueryExecutionContext;
6160
import org.hibernate.query.spi.HqlInterpretation;
@@ -70,6 +69,7 @@
7069
import org.hibernate.query.sqm.SqmPathSource;
7170
import org.hibernate.query.sqm.internal.SqmInterpretationsKey.InterpretationsKeySource;
7271
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
72+
import org.hibernate.query.sqm.spi.NamedSqmQueryMemento;
7373
import org.hibernate.query.sqm.tree.AbstractSqmDmlStatement;
7474
import org.hibernate.query.sqm.tree.SqmCopyContext;
7575
import org.hibernate.query.sqm.tree.SqmStatement;
@@ -890,7 +890,7 @@ public SqmQueryImplementor<R> applyGraph(@SuppressWarnings("rawtypes") RootGraph
890890
// Named query externalization
891891

892892
@Override
893-
public NamedQueryMemento<R> toMemento(String name) {
893+
public NamedSqmQueryMemento<R> toMemento(String name) {
894894
if ( CRITERIA_HQL_STRING.equals( getQueryString() ) ) {
895895
final SqmStatement<R> sqmStatement;
896896
if ( !getSession().isCriteriaCopyTreeEnabled() ) {

0 commit comments

Comments
 (0)