Skip to content

Commit 82c2186

Browse files
dreab8beikov
authored andcommitted
HHH-18032 CompositeId, when the id assigned by PrePersist method an HibernateException: identifier of an instance of _ was altered is thrown
1 parent 2af8e20 commit 82c2186

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

hibernate-core/src/main/java/org/hibernate/event/internal/AbstractSaveEventListener.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.hibernate.engine.spi.Status;
2727
import org.hibernate.event.spi.EventSource;
2828
import org.hibernate.id.Assigned;
29+
import org.hibernate.id.CompositeNestedGeneratedValueGenerator;
2930
import org.hibernate.id.IdentifierGenerationException;
3031
import org.hibernate.internal.CoreLogging;
3132
import org.hibernate.internal.CoreMessageLogger;
@@ -197,7 +198,8 @@ protected Object performSave(
197198

198199
processIfSelfDirtinessTracker( entity, SelfDirtinessTracker::$$_hibernate_clearDirtyAttributes );
199200

200-
if ( persister.getGenerator() instanceof Assigned ) {
201+
final Generator generator = persister.getGenerator();
202+
if ( generator instanceof Assigned || generator instanceof CompositeNestedGeneratedValueGenerator ) {
201203
id = persister.getIdentifier( entity, source );
202204
if ( id == null ) {
203205
throw new IdentifierGenerationException(

0 commit comments

Comments
 (0)