@Override public Serializable locateGenerationContext(SharedSessionContractImplementor session, Object incomingObject) { return session.getEntityPersister( entityName, incomingObject ).getIdentifier( incomingObject, session ); } }
public Serializable generate(SharedSessionContractImplementor session, Object obj) throws HibernateException { //TODO: cache the persister, this shows up in yourkit final Serializable id = session.getEntityPersister( entityName, obj ).getIdentifier( obj, session ); if ( id == null ) { throw new IdentifierGenerationException( "ids for this class must be manually assigned before calling save(): " + entityName ); } return id; }
private static EntityKey getOptionalObjectKey(QueryParameters queryParameters, SharedSessionContractImplementor session) { final Object optionalObject = queryParameters.getOptionalObject(); final Serializable optionalId = queryParameters.getOptionalId(); final String optionalEntityName = queryParameters.getOptionalEntityName(); if ( optionalObject != null && optionalEntityName != null ) { return session.generateEntityKey( optionalId, session.getEntityPersister( optionalEntityName, optionalObject ) ); } else { return null; } }
private static EntityPersister resolveEntityPersister( Object entity, AssociationType associationType, SharedSessionContractImplementor session, SessionFactoryImplementor sessionFactory) { assert sessionFactory != null; if ( session != null ) { return session.getEntityPersister( associationType.getAssociatedEntityName( session.getFactory() ), entity ); } String entityName = null; for ( EntityNameResolver entityNameResolver : sessionFactory.getMetamodel().getEntityNameResolvers() ) { entityName = entityNameResolver.resolveEntityName( entity ); if ( entityName != null ) { break; } } if ( entityName == null ) { // old fall-back entityName = entity.getClass().getName(); } return sessionFactory.getMetamodel().entityPersister( entityName ); }
@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 Object copy = session.getEntityPersister( associatedEntityName, original ) .instantiate( null, session ); copyCache.put( original, copy );
); id = session.getEntityPersister( entityName, object ).getIdentifier( object, session );
final EntityPersister persister = session.getEntityPersister( entityName, entity ); isUnsaved = persister.isTransient( entity, session ); if ( isUnsaved != null ) {
SharedSessionContractImplementor session) { final Nullifier nullifier = new Nullifier( entity, false, isEarlyInsert, session ); final EntityPersister persister = session.getEntityPersister( entityName, entity ); final String[] propertyNames = persister.getPropertyNames(); final Type[] types = persister.getPropertyTypes();
final EntityPersister entityPersister; if ( optionalObject != null ) { entityPersister = session.getEntityPersister( optionalEntityName, optionalObject );
/** * Copied from Loader#getOptionalObjectKey */ private static org.hibernate.engine.spi.EntityKey getOptionalObjectKey(QueryParameters queryParameters, SharedSessionContractImplementor session) { final Object optionalObject = queryParameters.getOptionalObject(); final Serializable optionalId = queryParameters.getOptionalId(); final String optionalEntityName = queryParameters.getOptionalEntityName(); if ( optionalObject != null && optionalEntityName != null ) { return session.generateEntityKey( optionalId, session.getEntityPersister( optionalEntityName, optionalObject ) ); } else { return null; } }