У меня есть Java-объект Person
с 3 свойствами firstname
, lastname
и username
.
У меня есть хранимая процедура Oracle, возвращающая набор результатов с 3 столбцами.
Все отлично работает для этого.
Теперь у меня есть другая хранимая процедура, которая будет возвращать только имя и фамилию, но не имя пользователя.
Я получаю следующую ошибку:
Не удалось прочитать значение столбца из результирующего имени пользователя
Hibernate пытается извлечь свойство имени пользователя из набора результатов.
Если я удаляю свойство username, то оно работает.
Моя конфигурация:
<sql-query name="normalise" callable="true" >
<return alias="val" class="com.nbfg.sipc.model.Person">
<return-property name="firstname" column="FIRST_NAME"/>
<return-property name="lastname" column="LASTNAME_NAME"/>
</return>
{call SCHSIPC.PKG_SIPC_APP.PRC_SIPC_NORMALISE_RS(?, ?, ?, ?, ?) }
</sql-query>
My Pojo (без аннотации)
@Entity
public class Person {
private String firstname;
private String lastname;
private String username;
...
Звонок:
private Value call(String app, String cat, String col, String valeure, String query) {
try {
Query q = getSessionFactory().openStatelessSession().getNamedQuery(query);
q.setString(0, app).setString(1, cat).setString(2, col).setString(3, valeure);
return (Person) q.list().get(0);
} catch (org.hibernate.QueryTimeoutException ex) {
throw new IllegalArgumentException(ex.getCause().getMessage());
}
}
Все работает нормально, если я уберу свойство username
из моего Pojo. Могу ли я использовать тот же PoJo?
Спасибо