给定 Grails/Hibernate 中的条件,查看数据库中是否存在实体的最佳方法

Best way to see if an entity exists in the database given a condition in Grails/Hibernate

在给定条件的情况下,查看数据库中是否已存在 entity/domain 的最佳方法是什么?其中根据 entity/domain.

的属性检查条件

直接的方法是查询并检查,但在我的情况下,我只需要查看一个实体是否满足条件。所以我在想是否还有其他方法?

您可以发出一个仅 returns 计数的查询...

Person.where {
    name == 'Jeff'
}.count()

这实际上并没有检索到 Person 个实例。它向数据库发送查询 returns 个实例数。例如,如果您将 GORM 与 Hibernate 一起使用,生成的 SQL 可能看起来像这样...

select count(*) as y0_ from person this_ where this_.name=?

你可以做到 Person.countByName('Manuel')