|
28 | 28 | import org.hibernate.engine.spi.SessionFactoryImplementor;
|
29 | 29 | import org.hibernate.engine.spi.SessionImplementor;
|
30 | 30 | import org.hibernate.event.spi.EntityCopyObserver;
|
31 |
| -import org.hibernate.event.spi.EntityCopyObserverFactory; |
32 | 31 | import org.hibernate.event.spi.EventSource;
|
33 | 32 | import org.hibernate.event.spi.MergeContext;
|
34 | 33 | import org.hibernate.event.spi.MergeEvent;
|
@@ -75,22 +74,21 @@ protected Map<Object,Object> getMergeMap(MergeContext context) {
|
75 | 74 | *
|
76 | 75 | */
|
77 | 76 | public void onMerge(MergeEvent event) throws HibernateException {
|
78 |
| - final EntityCopyObserver entityCopyObserver = createEntityCopyObserver( event.getSession().getFactory() ); |
79 |
| - final MergeContext mergeContext = new MergeContext( event.getSession(), entityCopyObserver ); |
| 77 | + final EventSource session = event.getSession(); |
| 78 | + final EntityCopyObserver entityCopyObserver = createEntityCopyObserver( session ); |
| 79 | + final MergeContext mergeContext = new MergeContext( session, entityCopyObserver ); |
80 | 80 | try {
|
81 | 81 | onMerge( event, mergeContext );
|
82 |
| - entityCopyObserver.topLevelMergeComplete( event.getSession() ); |
| 82 | + entityCopyObserver.topLevelMergeComplete( session ); |
83 | 83 | }
|
84 | 84 | finally {
|
85 | 85 | entityCopyObserver.clear();
|
86 | 86 | mergeContext.clear();
|
87 | 87 | }
|
88 | 88 | }
|
89 | 89 |
|
90 |
| - private EntityCopyObserver createEntityCopyObserver(SessionFactoryImplementor sessionFactory) { |
91 |
| - return sessionFactory.getServiceRegistry() |
92 |
| - .getService( EntityCopyObserverFactory.class ) |
93 |
| - .createEntityCopyObserver(); |
| 90 | + private EntityCopyObserver createEntityCopyObserver(final EventSource session) { |
| 91 | + return session.getFactory().getFastSessionServices().entityCopyObserverFactory.createEntityCopyObserver(); |
94 | 92 | }
|
95 | 93 |
|
96 | 94 | /**
|
|
0 commit comments