protected Serializable getResult(SessionImplementor 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
 public Object extract(Object[] data, ResultSet resultSet, SessionImplementor session)
     throws SQLException, HibernateException {
   return type.nullSafeGet(resultSet, alias, session, null);
 }