我正在使用 hibernate 3.0(带有 posgre 8.3)、Java 1.6 和 Netbeans 6.5。我创建了一个 native 查询来返回所有唯一的最新条目,如下所示:
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 对象中的所有公共(public)非静态方法都会被调用。我不想要这种行为,有人可以帮助我吗? 提前致谢。
最佳答案
什么是“所有”公共(public)方法?
当 hibernate 创建实体并填充数据库中的数据时,将调用 getter 和 setter。由于实体类必须满足 java bean 规范,因此除了 hashCode()、toString() 之外不应再有任何公共(public)方法...
关于java - Hibernate 在查询后调用实体上的公共(public)方法,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/630054/