Hibernate Grails:如何在createCriteria中使用exists/notExists?
根据这个jira票证(),exists/notExists标准方法已添加到HibernateCriteriaBuilder中。我正在寻找有关使用此功能的帮助,因为我找不到任何文档 “exists”方法似乎将QueryableCriteria对象作为参数,但我不熟悉这个类,也找不到任何关于这个类的有用文档 我的简化班级结构:Hibernate Grails:如何在createCriteria中使用exists/notExists?,hibernate,grails,Hibernate,Grails,根据这个jira票证(),exists/notExists标准方法已添加到HibernateCriteriaBuilder中。我正在寻找有关使用此功能的帮助,因为我找不到任何文档 “exists”方法似乎将QueryableCriteria对象作为参数,但我不熟悉这个类,也找不到任何关于这个类的有用文档 我的简化班级结构: class Foo { static hasMany = [fooBars: FooBar] } class FooBar { static belongsTo =
class Foo {
static hasMany = [fooBars: FooBar]
}
class FooBar {
static belongsTo = [Foo, Bar]
Foo foo
Bar bar
}
class Bar {
String division
static hasMany = [fooBars: FooBar]
}
我的目标是找到Foo的,或者:a)没有关联的条形图
或
b)相关条的划分在指定字符串列表中(或不在指定字符串列表中) 现在我使用的是sqlRestriction,它工作正常,但我更喜欢使用HibernateCriteriaBuilder方法:
def crit = Foo.createCriteria()
def results = crit.list() {
sqlRestriction(""" not exists (
select 1
from
Foo_Bar fb
inner join Bar b
on Foo_Bar.bar_id = b.id
where
fb.foo_id = this_.id
and b.DIVISION in ('bad', 'terrible') )
""")
}
我的代码使用的是'notexists',但是'exists'语法的一个例子也会有同样的帮助
谢谢有没有任何非HQL的方法?