Hibernate вызывает публичные методы для сущностей после запроса, почему?
Я использую hibernate 3.0 (с posgre 8.3), Java 1.6 и Netbeans 6.5. Я создал один собственный запрос для возврата всех уникальных самых последних записей, таких как:
String query = "SELECT DISTINCT ON (origem) * FROM entrada " +
"ORDER BY origem, horadata DESC";
SQLQuery sqlQuery = this.getSession().createSQLQuery(query);
sqlQuery.addEntity(Entrada.class);
List entradas = sqlQuery.list();
Когда вызывается sqlQuery.list(), объекты Entrada возвращаются, как и ожидалось. Но все публичные нестатические методы в объекте Entrada вызываются. Я не хочу такого поведения, кто-то может мне помочь? Заранее спасибо.
1 ответ
Решение
Что такое "все" публичные методы?
Получатели и установщики вызываются, когда hibernate создает права и заполняет данные из базы данных. Поскольку классы сущностей должны соответствовать спецификации Java-бина, не должно быть больше открытых методов, кроме hashCode(), toString()...