Hibernate hql创建'Any'查询

时间:2012-01-26 19:42:02

标签: hibernate hql

我希望你们原谅我...我知道这很简单,但证明谷歌是不可能的。

我想编写以下hql查询:“是否存在名称='Bob'的人的任何实例”

我知道我可以进行计数但是当我实际上不需要枚举所有行时,这似乎会不必要地削弱处理能力。

执行此操作的hql查询是什么?

1 个答案:

答案 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();

内存中没有加载任何内容,只打开数据库游标。