Hibernate select 查询:只想知道存在

Hibernate select query: only want to know existence

我只需要一条记录的存在信息。我不需要实际计数。如果有关于“where”条件的行(记录),我就会知道它存在。

如果我写

select count(m) from MyEntity m where m.someProperty=1

它会统计所有的记录,如果有很多记录,可能需要很长时间,它会给我一些我实际上不需要的信息。

如何使用 Hibernate HQL 获取记录的存在性?

我发现这个最适合我:

public Boolean existsOrNot (DTOAny i) {
    Query q = getSession().             
    createQuery("select 1 from DTOAny t where t.key = :key");
        q.setString("key", i.getKey() );
    return (q.uniqueResult() != null);
}

来自: