@Override Object processCollection(Object collection, CollectionType type) throws HibernateException { if (collection != null) { evictCollection(collection, type); } return null; }
public void evictCollection(Object value, CollectionType type) { final PersistentCollection collection; if ( type.hasHolder() ) { collection = getSession().getPersistenceContext().removeCollectionHolder(value); } else if ( value instanceof PersistentCollection ) { collection = (PersistentCollection) value; } else if ( value == LazyPropertyInitializer.UNFETCHED_PROPERTY ) { collection = (PersistentCollection) type.resolve( value, getSession(), this.owner ); } else { return; //EARLY EXIT! } if ( collection != null && collection.unsetSession( getSession() ) ) { evictCollection(collection); } }
@Override Object processCollection(Object collection, PluralPersistentAttribute collectionAttribute) throws HibernateException { if (collection != null) { evictCollection( collection, collectionAttribute ); } return null; }
@Override Object processCollection(Object collection, CollectionType type) throws HibernateException { if (collection!=null) evictCollection(collection, type); return null; } public void evictCollection(Object value, CollectionType type) {
@Override Object processCollection(Object collection, CollectionType type) throws HibernateException { if (collection!=null) evictCollection(collection, type); return null; } public void evictCollection(Object value, CollectionType type) {
public void evictCollection(Object value, CollectionType type) { final Object pc; if ( type.hasHolder() ) { pc = getSession().getPersistenceContext().removeCollectionHolder(value); } else if ( value instanceof PersistentCollection ) { pc = value; } else { return; //EARLY EXIT! } PersistentCollection collection = (PersistentCollection) pc; if ( collection.unsetSession( getSession() ) ) evictCollection(collection); }
public void evictCollection(Object value, CollectionType type) { final Object pc; if ( type.hasHolder() ) { pc = getSession().getPersistenceContext().removeCollectionHolder(value); } else if ( value instanceof PersistentCollection ) { pc = value; } else { return; //EARLY EXIT! } PersistentCollection collection = (PersistentCollection) pc; if ( collection.unsetSession( getSession() ) ) evictCollection(collection); }
public void evictCollection(Object value, PluralPersistentAttribute attributeCollection) { final PersistentCollection collection; if ( attributeCollection.getPersistentCollectionDescriptor() .getCollectionClassification() == CollectionClassification.ARRAY ) { collection = getSession().getPersistenceContext().removeCollectionHolder(value); } else if ( value instanceof PersistentCollection ) { collection = (PersistentCollection) value; } else if ( value == LazyPropertyInitializer.UNFETCHED_PROPERTY ) { // collection = (PersistentCollection) type.resolve( value, getSession(), this.owner ); throw new NotYetImplementedFor6Exception( "evictCollection + LazyPropertyInitializer.UNFETCHED_PROPERTY" ); } else { return; //EARLY EXIT! } if ( collection != null && collection.unsetSession( getSession() ) ) { evictCollection( collection ); } }