Skip to content

Commit 3baea79

Browse files
committed
HHH-19349 move ImmutableEntityUpdateQueryHandlingMode to the SPI package
1 parent c8cba27 commit 3baea79

File tree

8 files changed

+15
-17
lines changed

8 files changed

+15
-17
lines changed

hibernate-core/src/main/java/org/hibernate/boot/internal/SessionFactoryOptionsBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
import org.hibernate.jpa.spi.JpaCompliance;
6464
import org.hibernate.jpa.spi.MutableJpaCompliance;
6565
import org.hibernate.proxy.EntityNotFoundDelegate;
66-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
66+
import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode;
6767
import org.hibernate.query.NullPrecedence;
6868
import org.hibernate.query.criteria.ValueHandlingMode;
6969
import org.hibernate.query.hql.HqlTranslator;

hibernate-core/src/main/java/org/hibernate/boot/spi/AbstractDelegatingSessionFactoryOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.hibernate.internal.BaselineSessionEventsListenerBuilder;
2828
import org.hibernate.jpa.spi.JpaCompliance;
2929
import org.hibernate.proxy.EntityNotFoundDelegate;
30-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
30+
import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode;
3131
import org.hibernate.query.criteria.ValueHandlingMode;
3232
import org.hibernate.query.hql.HqlTranslator;
3333
import org.hibernate.query.sqm.function.SqmFunctionDescriptor;

hibernate-core/src/main/java/org/hibernate/cfg/QuerySettings.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import org.hibernate.Incubating;
88
import org.hibernate.boot.spi.SessionFactoryOptions;
9+
import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode;
910
import org.hibernate.query.spi.QueryPlan;
1011

1112
import jakarta.persistence.criteria.CriteriaDelete;
@@ -200,21 +201,21 @@ public interface QuerySettings {
200201
/**
201202
* This setting defines how {@link org.hibernate.annotations.Immutable} entities
202203
* are handled when executing a bulk update query. Valid options are enumerated
203-
* by {@link org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode}:
204+
* by {@link ImmutableEntityUpdateQueryHandlingMode}:
204205
* <ul>
205-
* <li>{@link org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode#WARNING "warning"}
206+
* <li>{@link ImmutableEntityUpdateQueryHandlingMode#WARNING "warning"}
206207
* specifies that a warning log message is issued when an
207208
* {@linkplain org.hibernate.annotations.Immutable immutable} entity is to be
208209
* updated via a bulk update statement, and
209-
* <li>{@link org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode#EXCEPTION "exception"}
210+
* <li>{@link ImmutableEntityUpdateQueryHandlingMode#EXCEPTION "exception"}
210211
* specifies that a {@link org.hibernate.HibernateException} should be thrown.
211212
* </ul>
212213
*
213-
* @settingDefault {@link org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode#WARNING "warning"}
214+
* @settingDefault {@link ImmutableEntityUpdateQueryHandlingMode#WARNING "warning"}
214215
*
215-
* @since 5.2.17
216+
* @since 5.2
216217
*
217-
* @see org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode
218+
* @see ImmutableEntityUpdateQueryHandlingMode
218219
*/
219220
String IMMUTABLE_ENTITY_UPDATE_QUERY_HANDLING_MODE = "hibernate.query.immutable_entity_update_query_handling_mode";
220221

hibernate-core/src/main/java/org/hibernate/query/ImmutableEntityUpdateQueryHandlingMode.java renamed to hibernate-core/src/main/java/org/hibernate/query/spi/ImmutableEntityUpdateQueryHandlingMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* SPDX-License-Identifier: Apache-2.0
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
5-
package org.hibernate.query;
5+
package org.hibernate.query.spi;
66

77
import org.hibernate.HibernateException;
88
import org.hibernate.cfg.AvailableSettings;

hibernate-core/src/main/java/org/hibernate/query/spi/QueryEngineOptions.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.util.Map;
88

99
import org.hibernate.jpa.spi.JpaCompliance;
10-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
1110
import org.hibernate.query.criteria.ValueHandlingMode;
1211
import org.hibernate.query.hql.HqlTranslator;
1312
import org.hibernate.query.sqm.function.SqmFunctionDescriptor;

hibernate-core/src/main/java/org/hibernate/query/sqm/NodeBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import org.hibernate.jpa.spi.JpaCompliance;
2121
import org.hibernate.metamodel.model.domain.JpaMetamodel;
22-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
22+
import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode;
2323
import org.hibernate.query.NullPrecedence;
2424
import org.hibernate.query.SortDirection;
2525
import org.hibernate.query.criteria.HibernateCriteriaBuilder;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
import org.hibernate.metamodel.model.domain.internal.EntitySqmPathSource;
5050
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
5151
import org.hibernate.query.BindableType;
52-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
52+
import org.hibernate.query.spi.ImmutableEntityUpdateQueryHandlingMode;
5353
import org.hibernate.query.NullPrecedence;
5454
import org.hibernate.query.BindingContext;
5555
import org.hibernate.metamodel.model.domain.ReturnableType;

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/update/SqmUpdateStatement.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
import java.util.Map;
1010
import java.util.Set;
1111

12+
import org.hibernate.AssertionFailure;
1213
import org.hibernate.HibernateException;
1314
import org.hibernate.internal.CoreLogging;
1415
import org.hibernate.internal.CoreMessageLogger;
1516
import org.hibernate.persister.entity.EntityPersister;
16-
import org.hibernate.query.ImmutableEntityUpdateQueryHandlingMode;
1717
import org.hibernate.query.SemanticException;
1818
import org.hibernate.query.criteria.JpaCriteriaUpdate;
1919
import org.hibernate.query.criteria.JpaRoot;
@@ -133,17 +133,15 @@ private void verifyImmutableEntityUpdate(String hql) {
133133
final EntityPersister persister =
134134
nodeBuilder().getMappingMetamodel().getEntityDescriptor( getTarget().getEntityName() );
135135
if ( !persister.isMutable() ) {
136-
final ImmutableEntityUpdateQueryHandlingMode mode =
137-
nodeBuilder().getImmutableEntityUpdateQueryHandlingMode();
138136
final String querySpaces = Arrays.toString( persister.getQuerySpaces() );
139-
switch ( mode ) {
137+
switch ( nodeBuilder().getImmutableEntityUpdateQueryHandlingMode() ) {
140138
case WARNING:
141139
LOG.immutableEntityUpdateQuery( hql, querySpaces );
142140
break;
143141
case EXCEPTION:
144142
throw new HibernateException( "The query attempts to update an immutable entity: " + querySpaces );
145143
default:
146-
throw new UnsupportedOperationException( "The " + mode + " is not supported" );
144+
throw new AssertionFailure( "Unrecognized mode" );
147145
}
148146
}
149147
}

0 commit comments

Comments
 (0)