@Override public Object extract(Object[] data, ResultSet resultSet, SharedSessionContractImplementor session) throws SQLException, HibernateException { return type.nullSafeGet( resultSet, alias, session, null ); } }
@Override public Object nullSafeGet( ResultSet rs, String name, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { Object key = baseType.nullSafeGet(rs, name, session, owner); return key==null ? null : discriminatorValuesToEntityNameMap.get(key); }
@Override public Object nullSafeGet( ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { Object key = baseType.nullSafeGet(rs, names, session, owner); return key==null ? null : discriminatorValuesToEntityNameMap.get(key); }
@Override public Object hydrate(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { final String entityName = (String) discriminatorType.nullSafeGet( rs, names[0], session, owner ); final Serializable id = (Serializable) identifierType.nullSafeGet( rs, names[1], session, owner ); return new ObjectTypeCacheEntry( entityName, id ); }
@Override public Object nullSafeGet(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { return resolveAny( (String) discriminatorType.nullSafeGet( rs, names[0], session, owner ), (Serializable) identifierType.nullSafeGet( rs, names[1], session, owner ), session ); }
@Override public Object readElement(ResultSet rs, Object owner, String[] aliases, SharedSessionContractImplementor session) throws HibernateException, SQLException { return getElementType().nullSafeGet( rs, aliases, session, owner ); }
@Override protected Object[] getResultRow(Object[] row, ResultSet rs, SharedSessionContractImplementor session) throws SQLException, HibernateException { Object[] resultRow; if ( hasScalars ) { String[][] scalarColumns = scalarColumnNames; int queryCols = queryReturnTypes.length; resultRow = new Object[queryCols]; for ( int i = 0; i < queryCols; i++ ) { resultRow[i] = queryReturnTypes[i].nullSafeGet( rs, scalarColumns[i], session, null ); } } else { resultRow = toResultRow( row ); } return resultRow; }
@Override public Object hydrate(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException { return super.getIdentifierOrUniqueKeyType( session.getFactory() ) .nullSafeGet(rs, names, session, owner); }
protected Serializable getResult( SharedSessionContractImplementor session, ResultSet rs, Object entity) throws SQLException { if ( !rs.next() ) { throw new IdentifierGenerationException( "the inserted row could not be located by the unique key: " + uniqueKeyPropertyName ); } return (Serializable) idType.nullSafeGet( rs, persister.getRootTableKeyColumnNames(), session, entity ); } }
@Override protected Object[] getResultRow(Object[] row, ResultSet rs, SharedSessionContractImplementor session) throws SQLException, HibernateException { Object[] resultRow; if ( hasScalars ) { String[][] scalarColumns = getColumnNames(); int queryCols = returnTypes.length; resultRow = new Object[queryCols]; for ( int i = 0; i < queryCols; i++ ) { resultRow[i] = returnTypes[i].nullSafeGet( rs, scalarColumns[i], session, null ); } } else { resultRow = toResultRow( row ); } return resultRow; }
@Override public Object readIdentifier(ResultSet rs, String alias, SharedSessionContractImplementor session) throws HibernateException, SQLException { Object id = getIdentifierType().nullSafeGet( rs, alias, session, null ); if ( id == null ) { throw new HibernateException( "null identifier column for collection: " + navigableRole.getFullPath() ); } return id; }
@Override public Object readIndex(ResultSet rs, String[] aliases, SharedSessionContractImplementor session) throws HibernateException, SQLException { Object index = getIndexType().nullSafeGet( rs, aliases, session, null ); if ( index == null ) { throw new HibernateException( "null index column for collection: " + navigableRole.getFullPath() ); } index = decrementIndexByBase( index ); return index; }
@Override protected Object[] getResultRow(Object[] row, ResultSet rs, SharedSessionContractImplementor session) throws SQLException, HibernateException { final Object[] result; if ( translator.hasProjection() ) { Type[] types = translator.getProjectedTypes(); result = new Object[types.length]; String[] columnAliases = translator.getProjectedColumnAliases(); for ( int i=0, pos=0; i<result.length; i++ ) { int numColumns = types[i].getColumnSpan( session.getFactory() ); if ( numColumns > 1 ) { String[] typeColumnAliases = ArrayHelper.slice( columnAliases, pos, numColumns ); result[i] = types[i].nullSafeGet(rs, typeColumnAliases, session, null); } else { result[i] = types[i].nullSafeGet(rs, columnAliases[pos], session, null); } pos += numColumns; } } else { result = toResultRow( row ); } return result; }
@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; }
currentResult = types[0].nullSafeGet( rs, names[0], session, null ); currentResults[i] = types[i].nullSafeGet( rs, names[i], session, null );
resultId = (Serializable) idType.nullSafeGet( rs, getEntityAliases()[i].getSuffixedKeyAliases(),
final Object discriminatorValue = persister.getDiscriminatorType().nullSafeGet( rs, getEntityAliases()[i].getSuffixedDiscriminatorAlias(),
try { if ( rs.next() ) { return getElementType().nullSafeGet( rs, elementColumnAliases, session, owner );
discriminatorValue = loadable.getDiscriminatorType().nullSafeGet( resultSet, entityReferenceAliases.getColumnAliases().getSuffixedDiscriminatorAlias(),
return null; return (Serializable) getIdentifierType().nullSafeGet( rs, getIdentifierAliases(), session, null );