ah = collectionType.wrap( session, collection ); persistenceContext.addNewCollection( persister, ah ); persistenceContext.addCollectionHolder( ah ); PersistentCollection persistentCollection = collectionType.wrap( session, collection ); persistenceContext.addNewCollection( persister, persistentCollection );
final Object processArrayOrNewCollection(Object collection, CollectionType collectionType) throws HibernateException { final SessionImplementor session = getSession(); if (collection==null) { //do nothing return null; } else { CollectionPersister persister = session.getFactory().getCollectionPersister( collectionType.getRole() ); final PersistenceContext persistenceContext = session.getPersistenceContext(); //TODO: move into collection type, so we can use polymorphism! if ( collectionType.hasHolder( session.getEntityMode() ) ) { if (collection==CollectionType.UNFETCHED_COLLECTION) return null; PersistentCollection ah = persistenceContext.getCollectionHolder(collection); if (ah==null) { ah = collectionType.wrap(session, collection); persistenceContext.addNewCollection( ah, persister ); persistenceContext.addCollectionHolder(ah); } return null; } else { PersistentCollection persistentCollection = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persistentCollection, persister ); if ( log.isTraceEnabled() ) log.trace( "Wrapped collection in role: " + collectionType.getRole() ); return persistentCollection; //Force a substitution! } } }
final Object processArrayOrNewCollection(Object collection, CollectionType collectionType) throws HibernateException { final SessionImplementor session = getSession(); if (collection==null) { //do nothing return null; } else { CollectionPersister persister = session.getFactory().getCollectionPersister( collectionType.getRole() ); final PersistenceContext persistenceContext = session.getPersistenceContext(); //TODO: move into collection type, so we can use polymorphism! if ( collectionType.hasHolder( session.getEntityMode() ) ) { if (collection==CollectionType.UNFETCHED_COLLECTION) return null; PersistentCollection ah = persistenceContext.getCollectionHolder(collection); if (ah==null) { ah = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, ah ); persistenceContext.addCollectionHolder(ah); } return null; } else { PersistentCollection persistentCollection = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, persistentCollection ); if ( log.isTraceEnabled() ) log.trace( "Wrapped collection in role: " + collectionType.getRole() ); return persistentCollection; //Force a substitution! } } }
ah = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, ah ); persistenceContext.addCollectionHolder(ah); PersistentCollection persistentCollection = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, persistentCollection );
ah = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, ah ); persistenceContext.addCollectionHolder(ah); PersistentCollection persistentCollection = collectionType.wrap(session, collection); persistenceContext.addNewCollection( persister, persistentCollection );