Refine search
public ClassMetadata getClassMetadata(Class persistentClass) throws HibernateException { return getClassMetadata( persistentClass.getName() ); }
private void closeSessionFactory(SessionFactory factory) { if(factory instanceof SessionFactoryImpl) { SessionFactoryImpl sf = (SessionFactoryImpl)factory; ConnectionProvider conn = sf.getConnectionProvider(); if(conn instanceof C3P0ConnectionProvider) { ((C3P0ConnectionProvider)conn).close(); } } factory.close(); }
public void evictEntity(String entityName) throws HibernateException { EntityPersister p = getEntityPersister(entityName); if ( p.hasCache() ) { if ( log.isDebugEnabled() ) { log.debug( "evicting second-level cache: " + p.getEntityName() ); } p.getCache().clear(); } }
String protectedEntityName = FooEntity.class.getName(); SessionFactoryImpl sessionFactory = (SessionFactoryImpl) session.getSessionFactory(); for (EntityPersister entityPersister : sessionFactory.getEntityPersisters().values()) { for (int i = 0; i < entityPersister.getPropertyTypes().length; i++) { Type type = entityPersister.getPropertyTypes()[i]; EntityType entityType = null; if (type.isCollectionType()) { CollectionType collectionType = (CollectionType) type; Type elementType = sessionFactory.getCollectionPersister(collectionType.getRole()).getElementType(); if (elementType.isEntityType()) { entityType = (EntityType) elementType; } } else if (type.isEntityType()) { entityType = (EntityType) type; } if (entityType != null && entityType.getName().equals(protectedEntityName)) { if (entityPersister.getPropertyCascadeStyles()[i].doCascade(CascadingAction.DELETE)) { // Exception can be thrown from here. System.out.println("Found! Class: " + entityPersister.getEntityName() + "; property: " + entityPersister.getPropertyNames()[i]); } } } }
public void evict(Class persistentClass, Serializable id) throws HibernateException { EntityPersister p = getEntityPersister( persistentClass.getName() ); if ( p.hasCache() ) { if ( log.isDebugEnabled() ) { log.debug( "evicting second-level cache: " + MessageHelper.infoString(p, id, this) ); } CacheKey cacheKey = new CacheKey( id, p.getIdentifierType(), p.getRootEntityName(), EntityMode.POJO, this ); p.getCache().remove( cacheKey ); } }
/** * give the interceptor an opportunity to override the default instantiation */ public Object instantiate(EntityPersister persister, Serializable id) throws HibernateException { errorIfClosed(); checkTransactionSynchStatus(); Object result = interceptor.instantiate( persister.getEntityName(), entityMode, id ); if ( result == null ) { result = persister.instantiate( id, entityMode ); } return result; }
public Type getIdentifierType(String className) throws MappingException { return getEntityPersister(className).getIdentifierType(); } public String getIdentifierPropertyName(String className) throws MappingException {
public Type getPropertyType(String className, String propertyName) throws MappingException { return getEntityPersister(className).getPropertyType(propertyName); }
classMeta.put( model.getEntityName(), cp.getClassMetadata() ); ( (EntityPersister) iter.next() ).postInstantiate(); Map errors = checkNamedQueries(); if ( !errors.isEmpty() ) { Set keys = errors.keySet(); getStatistics().setStatisticsEnabled( settings.isStatisticsEnabled() );
public String getIdentifierPropertyName(String className) throws MappingException { return getEntityPersister(className).getIdentifierPropertyName(); }
final boolean assignableSuperclass; if ( testQueryable.isInherited() ) { Class mappedSuperclass = getEntityPersister( testQueryable.getMappedSuperclass() ).getMappedClass( EntityMode.POJO); assignableSuperclass = clazz.isAssignableFrom(mappedSuperclass);
classMeta.put( model.getEntityName(), cp.getClassMetadata() ); currentSessionContext = buildCurrentSessionContext(); Map errors = checkNamedQueries(); if ( !errors.isEmpty() ) { Set keys = errors.keySet(); getStatistics().setStatisticsEnabled( settings.isStatisticsEnabled() );
public EntityPersister getEntityPersister(final String entityName, final Object object) { if (entityName==null) { return factory.getEntityPersister( guessEntityName(object) ); } else { return factory.getEntityPersister( entityName ).getSubclassEntityPersister( object, getFactory(), entityMode ); } }
private SessionImpl(SessionImpl parent, EntityMode entityMode) { this.factory = parent.factory; this.timestamp = parent.timestamp; this.jdbcContext = parent.jdbcContext; this.interceptor = parent.interceptor; this.listeners = parent.listeners; this.actionQueue = new ActionQueue(this); this.entityMode = entityMode; this.persistenceContext = new PersistenceContext(this); this.flushBeforeCompletionEnabled = false; this.autoCloseSessionEnabled = false; this.connectionReleaseMode = null; this.isRootSession = false; if ( factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor().openSession(); } log.debug( "opened session [" + entityMode + "]" ); }
this.entityMode = entityMode; this.interceptor = interceptor; this.listeners = factory.getEventListeners(); this.actionQueue = new ActionQueue( this ); this.persistenceContext = new StatefulPersistenceContext( this ); this.jdbcContext = new JDBCContext( this, connection, interceptor ); if ( factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor().openSession();
public void evictCollection(String roleName) throws HibernateException { CollectionPersister p = getCollectionPersister(roleName); if ( p.hasCache() ) { if ( log.isDebugEnabled() ) { log.debug( "evicting second-level cache: " + p.getRole() ); } p.getCache().clear(); } }
private static CompassEventListener findEventListener(SessionFactory sessionFactory) { if (sessionFactory instanceof SessionFactoryImpl) { PostInsertEventListener[] listeners = ((SessionFactoryImpl) sessionFactory).getEventListeners().getPostInsertEventListeners(); return findEventListener(listeners); } else { Session session = sessionFactory.openSession(); try { return findEventListener(session); } finally { session.close(); } } }
void afterDeserialize(SessionFactoryImpl factory) { definition = factory.getFilterDefinition(filterName); }
private OuterJoinLoadable getOuterJoinLoadable(String entityName) throws MappingException { EntityPersister persister = factory.getEntityPersister(entityName); if ( !(persister instanceof OuterJoinLoadable) ) { throw new MappingException( "class persister is not OuterJoinLoadable: " + entityName ); } return ( OuterJoinLoadable ) persister; }
public Object put(final Object key, final Object value) { Object cache = null; if (value instanceof HibernateCacheInstanceRetriever) { cache = ((HibernateCacheInstanceRetriever) value).retrieveHibernateCacheInstance(); } boolean registeredCacheWithMBean = false; if (cache != null && cache instanceof TerracottaHibernateCache) { final Statistics stats = sessionFactory.getStatistics(); if (stats instanceof HibernateStatsBeanAware) { ((HibernateStatsBeanAware) stats).__tc_getMBean().addTerracottaHibernateCache((String) key, (TerracottaHibernateCache) cache); registeredCacheWithMBean = true; } } if (!registeredCacheWithMBean) { LOGGER.warn("Couldn't retrieve cache instance from '" + value + "' to register it with the Terracotta Hibernate statistics MBean."); } return delegate.put(key, value); }