private static void processNeverReferencedCollection(PersistentCollection coll, SessionImplementor session) throws HibernateException { final PersistenceContext persistenceContext = session.getPersistenceContext(); final CollectionEntry entry = persistenceContext.getCollectionEntry( coll ); if ( LOG.isDebugEnabled() ) { LOG.debugf( "Found collection with unloaded owner: %s", MessageHelper.collectionInfoString( entry.getLoadedPersister(), coll, entry.getLoadedKey(), session ) ); } entry.setCurrentPersister( entry.getLoadedPersister() ); entry.setCurrentKey( entry.getLoadedKey() ); prepareCollectionForUpdate( coll, entry, session.getFactory() ); }
entry.setCurrentKey( null ); prepareCollectionForUpdate( coll, entry, session.getFactory() );
ce.setCurrentKey( type.getKeyOfOwner( entity, session ) );
private static void processNeverReferencedCollection(PersistentCollection coll, SessionImplementor session) throws HibernateException { final PersistenceContext persistenceContext = session.getPersistenceContext(); CollectionEntry entry = persistenceContext.getCollectionEntry(coll); if ( LOG.isDebugEnabled() ) { LOG.debugf( "Found collection with unloaded owner: %s", MessageHelper.collectionInfoString( entry.getLoadedPersister(), entry.getLoadedKey(), session.getFactory() ) ); } entry.setCurrentPersister( entry.getLoadedPersister() ); entry.setCurrentKey( entry.getLoadedKey() ); prepareCollectionForUpdate( coll, entry, session.getFactory() ); }
private static void processNeverReferencedCollection(PersistentCollection coll, SessionImplementor session) throws HibernateException { final PersistenceContext persistenceContext = session.getPersistenceContext(); CollectionEntry entry = persistenceContext.getCollectionEntry(coll); if ( LOG.isDebugEnabled() ) { LOG.debugf( "Found collection with unloaded owner: %s", MessageHelper.collectionInfoString( entry.getLoadedPersister(), entry.getLoadedKey(), session.getFactory() ) ); } entry.setCurrentPersister( entry.getLoadedPersister() ); entry.setCurrentKey( entry.getLoadedKey() ); prepareCollectionForUpdate( coll, entry, session.getFactory() ); }
private static void processNeverReferencedCollection(PersistentCollection coll, SessionImplementor session) throws HibernateException { final PersistenceContext persistenceContext = session.getPersistenceContext(); final CollectionEntry entry = persistenceContext.getCollectionEntry( coll ); if ( LOG.isDebugEnabled() ) { LOG.debugf( "Found collection with unloaded owner: %s", MessageHelper.collectionInfoString( entry.getLoadedCollectionDescriptor(), coll, entry.getLoadedKey(), session ) ); } entry.setCurrentDescriptor( entry.getLoadedCollectionDescriptor() ); entry.setCurrentKey( entry.getLoadedKey() ); prepareCollectionForUpdate( coll, entry); }
@Override public void resolveInstance(RowProcessingState rowProcessingState) { final CollectionKey collectionKey = resolveCollectionKey( rowProcessingState ); final SharedSessionContractImplementor session = rowProcessingState.getSession(); final PersistenceContext persistenceContext = session.getPersistenceContext(); final PersistentCollectionDescriptor collectionDescriptor = getFetchedAttribute().getPersistentCollectionDescriptor(); // todo (6.0) : look for LoadingCollectionEntry? final PersistentCollection existing = persistenceContext.getCollection( collectionKey ); if ( existing != null ) { collectionInstance = existing; } else { collectionInstance = collectionDescriptor.instantiateWrapper( session, collectionKey.getKey() ); getParentAccess().registerResolutionListener( owner -> collectionInstance.setOwner( owner ) ); persistenceContext.addUninitializedCollection( collectionDescriptor, collectionInstance, collectionKey.getKey() ); final CollectionEntry collectionEntry = persistenceContext.getCollectionEntry( collectionInstance ); collectionEntry.setCurrentKey( collectionKey.getKey() ); if ( getCollectionDescriptor().getSemantics().getCollectionClassification() == CollectionClassification.ARRAY ) { session.getPersistenceContext().addCollectionHolder( collectionInstance ); } } }
CollectionPersister persister = factory.getCollectionPersister( type.getRole() ); ce.setCurrentPersister(persister); ce.setCurrentKey( type.getKeyOfOwner(entity, session) ); //TODO: better to pass the id in as an argument?
CollectionPersister persister = factory.getCollectionPersister( type.getRole() ); ce.setCurrentPersister(persister); ce.setCurrentKey( type.getKeyOfOwner(entity, session) ); //TODO: better to pass the id in as an argument?
entry.setCurrentKey( null ); prepareCollectionForUpdate( coll, entry );
entry.setCurrentKey(null); prepareCollectionForUpdate( coll, entry, session.getFactory() );
entry.setCurrentKey(null); prepareCollectionForUpdate( coll, entry, session.getFactory() );
ce.setCurrentDescriptor( collectionAttribute.getCollectionDescriptor() ); ce.setCurrentKey( collectionAttribute.getCollectionDescriptor().getKeyOfOwner( entity, session ) );