Skip to content

Commit b577a95

Browse files
committed
HHH-19633 Don't override parent provided service with default service
1 parent f3c6c19 commit b577a95

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

hibernate-core/src/main/java/org/hibernate/service/internal/SessionFactoryServiceRegistryBuilderImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package org.hibernate.service.internal;
66

77
import java.util.ArrayList;
8+
import java.util.Iterator;
89
import java.util.List;
910

1011
import org.hibernate.boot.spi.SessionFactoryOptions;
@@ -26,6 +27,16 @@ public class SessionFactoryServiceRegistryBuilderImpl implements SessionFactoryS
2627

2728
public SessionFactoryServiceRegistryBuilderImpl(ServiceRegistryImplementor parent) {
2829
this.parent = parent;
30+
if ( parent != null ) {
31+
for ( Iterator<SessionFactoryServiceInitiator<?>> iterator = initiators.iterator(); iterator.hasNext(); ) {
32+
final SessionFactoryServiceInitiator<?> initiator = iterator.next();
33+
if ( parent.locateServiceBinding( initiator.getServiceInitiated() ) != null ) {
34+
// Parent takes precedence over the standard service initiators
35+
iterator.remove();
36+
}
37+
}
38+
39+
}
2940
}
3041

3142
/**

0 commit comments

Comments
 (0)