@Override public boolean requiresPostCommitHanding(EntityPersister persister) { return callbackRegistry.hasRegisteredCallbacks( persister.getMappedClass(), CallbackType.POST_UPDATE ); } }
@Override public boolean requiresPostCommitHanding(EntityPersister persister) { return callbackRegistry.hasRegisteredCallbacks( persister.getMappedClass(), CallbackType.POST_PERSIST ); } }
@Override public boolean requiresPostCommitHanding(EntityPersister persister) { return callbackRegistry.hasRegisteredCallbacks( persister.getMappedClass(), CallbackType.POST_REMOVE ); } }
/** * @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(); } }
final boolean assignableSuperclass; if ( checkQueryable.isInherited() ) { Class<?> mappedSuperclass = entityPersister( checkQueryable.getMappedSuperclass() ).getMappedClass(); assignableSuperclass = clazz.isAssignableFrom( mappedSuperclass );
/** * Get the id value from the owning entity key, usually the same as the key, but might be some * other property, in the case of property-ref * * @param key The collection owner key * @param session The session from which the request is originating. * @return The collection owner's id, if it can be obtained from the key; * otherwise, null is returned */ public Serializable getIdOfOwnerOrNull(Serializable key, SharedSessionContractImplementor session) { Serializable ownerId = null; if ( foreignKeyPropertyName == null ) { ownerId = key; } else { Type keyType = getPersister( session ).getKeyType(); EntityPersister ownerPersister = getPersister( session ).getOwnerEntityPersister(); // TODO: Fix this so it will work for non-POJO entity mode Class ownerMappedClass = ownerPersister.getMappedClass(); if ( ownerMappedClass.isAssignableFrom( keyType.getReturnedClass() ) && keyType.getReturnedClass().isInstance( key ) ) { // the key is the owning entity itself, so get the ID from the key ownerId = ownerPersister.getIdentifier( key, session ); } else { // TODO: check if key contains the owner ID } } return ownerId; }
@Override public int getHashCode(Object x, SessionFactoryImplementor factory) { EntityPersister persister = getAssociatedEntityPersister( factory ); if ( !persister.canExtractIdOutOfEntity() ) { return super.getHashCode( x ); } final Serializable id; if ( x instanceof HibernateProxy ) { id = ( (HibernateProxy) x ).getHibernateLazyInitializer().getIdentifier(); } else { final Class mappedClass = persister.getMappedClass(); if ( mappedClass.isAssignableFrom( x.getClass() ) ) { id = persister.getIdentifier( x ); } else { id = (Serializable) x; } } return persister.getIdentifierType().getHashCode( id, factory ); }
@Override public Object nullSafeGet( ResultSet rs, String name, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { final Object discriminatorValue = underlyingType.nullSafeGet( rs, name, session, owner ); final String entityName = persister.getSubclassForDiscriminatorValue( discriminatorValue ); if ( entityName == null ) { throw new HibernateException( "Unable to resolve discriminator value [" + discriminatorValue + "] to entity name" ); } final EntityPersister entityPersister = session.getEntityPersister( entityName, null ); return ( EntityMode.POJO == entityPersister.getEntityMode() ) ? entityPersister.getMappedClass() : entityName; }
final Class mappedClass = persister.getMappedClass(); Serializable xid; if ( x instanceof HibernateProxy ) {
&& cp.getConcreteProxyClass().isInterface() && !Map.class.isAssignableFrom( cp.getConcreteProxyClass() ) && cp.getMappedClass() != cp.getConcreteProxyClass() ) { if ( cp.getMappedClass().equals( cp.getConcreteProxyClass() ) ) { log.debugf( "Entity [%s] mapped same interface [%s] as class and proxy", cp.getEntityName(), cp.getMappedClass() );
@Override public Class getMappedClass() { return persister.getMappedClass(); }
@Override public Class getOwnerClass() { return persister.getOwnerEntityPersister().getMappedClass(); }
@Override @SuppressWarnings("deprecation") public Class getMappedSuperclass() { final String entityName = persister.getMappedSuperclass(); return entityName != null ? persister.getEntityMetamodel().getSessionFactory().getEntityPersister(entityName).getMappedClass() : null; }
@Override @SuppressWarnings("deprecation") public Class getMappedSuperclass() { final String entityName = persister.getMappedSuperclass(); return entityName != null ? persister.getEntityMetamodel().getSessionFactory().getEntityPersister(entityName).getMappedClass() : null; }
private Class<?> getRootEntityType(SessionFactoryImplementor sessionFactory, IndexedTypeIdentifier indexedTypeIdentifier) { MetamodelImplementor metamodel = sessionFactory.getMetamodel(); String entityName = indexedTypeIdentifier.getName(); String rootEntityName = metamodel.entityPersister( entityName ).getRootEntityName(); return metamodel.entityPersister( rootEntityName ).getMappedClass(); }
@Override @SuppressWarnings("deprecation") public Class getAssociatedClass(final SessionFactoryImplementor factory) throws MappingException { try { final org.hibernate.SessionFactory sessionFactory = HibernateBridge.get(factory).getV5SessionFactory(); final org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImpl = (org.hibernate.engine.spi.SessionFactoryImplementor) sessionFactory; final String entityName = type.getAssociatedEntityName(sessionFactoryImpl); return sessionFactoryImpl.getEntityPersister(entityName).getMappedClass(); } catch (final org.hibernate.MappingException ex) { throw (MappingException) HibernateExceptionAdapter.adapt(ex); } } }
@Override @SuppressWarnings("deprecation") public Class getAssociatedClass(final SessionFactoryImplementor factory) throws MappingException { try { final org.hibernate.SessionFactory sessionFactory = HibernateBridge.get(factory).getV5SessionFactory(); final org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImpl = (org.hibernate.engine.spi.SessionFactoryImplementor) sessionFactory; final String entityName = type.getAssociatedEntityName(sessionFactoryImpl); return sessionFactoryImpl.getEntityPersister(entityName).getMappedClass(); } catch (final org.hibernate.MappingException ex) { throw (MappingException) HibernateExceptionAdapter.adapt(ex); } } }
public Object nullSafeGet( ResultSet rs, String name, SessionImplementor session, Object owner) throws HibernateException, SQLException { final Object discriminatorValue = underlyingType.nullSafeGet( rs, name, session, owner ); final String entityName = persister.getSubclassForDiscriminatorValue( discriminatorValue ); if ( entityName == null ) { throw new HibernateException( "Unable to resolve discriminator value [" + discriminatorValue + "] to entity name" ); } final EntityPersister entityPersister = session.getEntityPersister( entityName, null ); return ( EntityMode.POJO == entityPersister.getEntityMode() ) ? entityPersister.getMappedClass() : entityName; }
/** * {@inheritDoc} */ public int getHashCode(Object x, SessionFactoryImplementor factory) { EntityPersister persister = factory.getEntityPersister(associatedEntityName); if ( !persister.canExtractIdOutOfEntity() ) { return super.getHashCode( x ); } final Serializable id; if (x instanceof HibernateProxy) { id = ( (HibernateProxy) x ).getHibernateLazyInitializer().getIdentifier(); } else { final Class mappedClass = persister.getMappedClass(); if ( mappedClass.isAssignableFrom( x.getClass() ) ) { id = persister.getIdentifier( x ); } else { id = (Serializable) x; } } return persister.getIdentifierType().getHashCode( id, factory ); }
public Object nullSafeGet( ResultSet rs, String name, SessionImplementor session, Object owner) throws HibernateException, SQLException { final Object discriminatorValue = underlyingType.nullSafeGet( rs, name, session, owner ); final String entityName = persister.getSubclassForDiscriminatorValue( discriminatorValue ); if ( entityName == null ) { throw new HibernateException( "Unable to resolve discriminator value [" + discriminatorValue + "] to entity name" ); } final EntityPersister entityPersister = session.getEntityPersister( entityName, null ); return ( EntityMode.POJO == entityPersister.getEntityMode() ) ? entityPersister.getMappedClass() : entityName; }