/** * @deprecated (since 5.2) Use {@link MetamodelImplementor#entityPersister(Class)} instead. */ @Deprecated default EntityPersister getEntityPersister(String entityName) throws MappingException { return getMetamodel().entityPersister( entityName ); }
@Override public EntityStatisticsImpl getEntityStatistics(String entityName) { if ( sessionFactory == null ) { return null; } return entityStatsMap.computeIfAbsent( entityName, s -> new EntityStatisticsImpl( sessionFactory.getMetamodel().entityPersister( entityName ) ) ); }
public static EntityPersister resolveEntityPersister( EntityTypeDescriptor<?> entityType, SessionFactoryImplementor sessionFactory) { // Our EntityTypeImpl#getType impl returns the Hibernate entity-name // which is exactly what we want final String hibernateEntityName = entityType.getName(); return sessionFactory.getMetamodel().entityPersister( hibernateEntityName ); }
@Override public void evictNaturalIdData(String entityName) { evictNaturalIdData( sessionFactory.getMetamodel().entityPersister( entityName ) ); }
/** * @return Java class mapped to specified entity name. */ public static Class getEntityClass(SessionImplementor sessionImplementor, String entityName) { final EntityPersister entityPersister = sessionImplementor.getFactory().getMetamodel().entityPersister( entityName ); return entityPersister.getMappedClass(); } }
Queryable getEntityPersister(String entityName) throws QueryException { try { return (Queryable) getFactory().getMetamodel().entityPersister( entityName ); } catch (Exception e) { throw new QueryException( "persistent class not found: " + entityName ); } }
@Override public Object instantiate(String entityName, Serializable id) throws HibernateException { return instantiate( getFactory().getMetamodel().entityPersister( entityName ), id ); }
private Serializable getIdentifier(EventSource session, Object obj) { Serializable id = null; if ( obj != null ) { id = session.getContextEntityIdentifier( obj ); if ( id == null ) { id = session.getSessionFactory().getMetamodel().entityPersister( obj.getClass() ).getIdentifier( obj, session ); } } return id; }
private OuterJoinLoadable getOuterJoinLoadable(String entityName) throws MappingException { EntityPersister persister = getFactory().getMetamodel().entityPersister( entityName ); if ( !( persister instanceof OuterJoinLoadable ) ) { throw new MappingException( "class persister is not OuterJoinLoadable: " + entityName ); } return (OuterJoinLoadable) persister; }
@Override public ProcedureCallImplementor<R> addSynchronizedEntityName(String entityName) { addSynchronizedQuerySpaces( getSession().getFactory().getMetamodel().entityPersister( entityName ) ); return this; }
@Override public EntityPersister getEntityPersister(String entityName, Object object) throws HibernateException { checkOpen(); if ( entityName == null ) { return getFactory().getMetamodel().entityPersister( guessEntityName( object ) ); } else { return getFactory().getMetamodel().entityPersister( entityName ).getSubclassEntityPersister( object, getFactory() ); } }
@Override public boolean containsEntity(String entityName, Serializable identifier) { final EntityPersister entityDescriptor = sessionFactory.getMetamodel().entityPersister( entityName ); final EntityDataAccess cacheAccess = entityDescriptor.getCacheAccessStrategy(); if ( cacheAccess == null ) { return false; } final Object key = cacheAccess.generateCacheKey( identifier, entityDescriptor, sessionFactory, null ); return cacheAccess.contains( key ); }
@Override public Object instantiate( String entityName, Serializable id) throws HibernateException { checkOpen(); return getFactory().getMetamodel().entityPersister( entityName ).instantiate( id, this ); }
public NavigableRole getRootEntityRole(EntityPersister entityDescriptor) { final String rootEntityName = entityDescriptor.getRootEntityName(); if ( entityDescriptor.getEntityName().equals( rootEntityName ) ) { return entityDescriptor.getNavigableRole(); } else { final EntityPersister rootEntityDescriptor = entityDescriptor.getFactory() .getMetamodel() .entityPersister( rootEntityName ); return rootEntityDescriptor.getNavigableRole(); } }
@Override public NativeQueryImplementor<T> addSynchronizedEntityName(String entityName) throws MappingException { addQuerySpaces( getProducer().getFactory().getMetamodel().entityPersister( entityName ).getQuerySpaces() ); return this; }
Queryable getEntityPersisterUsingImports(String className) { final String importedClassName = getFactory().getMetamodel().getImportedClassName( className ); if ( importedClassName == null ) { return null; } try { return (Queryable) getFactory().getMetamodel().entityPersister( importedClassName ); } catch (MappingException me) { return null; } }
protected void evictEntityData(EntityPersister entityDescriptor) { EntityPersister rootEntityDescriptor = entityDescriptor; if ( entityDescriptor.isInherited() && ! entityDescriptor.getEntityName().equals( entityDescriptor.getRootEntityName() ) ) { rootEntityDescriptor = getSessionFactory().getMetamodel().entityPersister( entityDescriptor.getRootEntityName() ); } evictEntityData( rootEntityDescriptor.getNavigableRole(), rootEntityDescriptor.getCacheAccessStrategy() ); }
@Override public boolean isNull(Object owner, SharedSessionContractImplementor session) { if ( propertyName != null ) { final EntityPersister ownerPersister = session.getFactory().getMetamodel().entityPersister( entityName ); final Serializable id = session.getContextEntityIdentifier( owner ); final EntityKey entityKey = session.generateEntityKey( id, ownerPersister ); return session.getPersistenceContext().isPropertyNull( entityKey, getPropertyName() ); } else { return false; } }
@Override public Object get(String entityName, Serializable id, LockMode lockMode) { checkOpen(); Object result = getFactory().getMetamodel().entityPersister( entityName ) .load( id, null, getNullSafeLockMode( lockMode ), this ); if ( temporaryPersistenceContext.isLoadFinished() ) { temporaryPersistenceContext.clear(); } return result; }
@Before public void prepare() { persister = sessionFactory().getMetamodel().entityPersister( Document.class ); assertTrue( persister.hasCache() ); doInHibernate( this::sessionFactory, s -> { Document document = new Document( "HiA", "Hibernate book", "Hibernate is...." ); s.persist( document ); documentID = document.id; } ); }