Skip to content

Commit 8afce5b

Browse files
committed
HHH-14869 Fix CallbackRegistryImpl#registerCallbacks considering all given callbacks have the same type
1 parent 965f5bd commit 8afce5b

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

hibernate-core/src/main/java/org/hibernate/jpa/event/internal/CallbackRegistryImpl.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,15 @@ public void registerCallbacks(Class entityClass, Callback[] callbacks) {
4141
return;
4242
}
4343

44-
final HashMap<Class, Callback[]> map = determineAppropriateCallbackMap( callbacks[0].getCallbackType() );
45-
Callback[] entityCallbacks = map.get( entityClass );
46-
47-
if ( entityCallbacks != null ) {
48-
callbacks = ArrayHelper.join( entityCallbacks, callbacks );
44+
for ( Callback callback : callbacks ) {
45+
final HashMap<Class, Callback[]> map = determineAppropriateCallbackMap( callback.getCallbackType() );
46+
Callback[] entityCallbacks = map.get( entityClass );
47+
if ( entityCallbacks == null ) {
48+
entityCallbacks = new Callback[0];
49+
}
50+
entityCallbacks = ArrayHelper.join( entityCallbacks, callback );
51+
map.put( entityClass, entityCallbacks );
4952
}
50-
map.put( entityClass, callbacks );
5153
}
5254

5355
@Override

0 commit comments

Comments
 (0)