我希望你们原谅我...我知道这很简单,但证明谷歌是不可能的。
我想编写以下hql查询:“是否存在名称='Bob'的人的任何实例”
我知道我可以进行计数但是当我实际上不需要枚举所有行时,这似乎会不必要地削弱处理能力。
执行此操作的hql查询是什么?
答案 0 :(得分:1)
Query personsQuery = session.createQuery("from Person p where p.name = 'Bob'");
if(personsQuery.iterate().hasNext()) {
//there is at least one Bob
}
只有人的主键被加载到内存中。
或
ScrollableResultSet scroll = session.createQuery("from Person p where p.name = 'Bob'").scroll();
if(scroll.next()) {
//there is at least one Bob
}
scroll.close();
内存中没有加载任何内容,只打开数据库游标。