2つのドメインクラス、人と属性
class Person {
static hasMany = [attributes : Attribute]
}
class Attribute{
String key
String value
}
fnameのクエリ:
def c = Person.createCriteria()
def result = c.list{
attributes {
eq("key", "fname")
eq("value", "foo")
}
println result
}
結果:[foo foo、foo bar]
lnameのクエリ:
def c = Person.createCriteria()
def result = c.list{
attributes {
eq("key", "lname")
eq("value", "bar")
}
println result
}
結果:[bar bar、foo bar]
lnameまたはfnameのクエリ:
def c = Person.createCriteria()
def result = c.list{
or{
attributes {
eq("key", "fname")
eq("value", "foo")
}
attributes {
eq("key", "lname")
eq("value", "bar")
}
}
println result
}
結果:[foo foo、foo bar、bar bar]
しかし、ORをAndに変更すると、結果が得られません。
def c = Person.createCriteria()
def result = c.list{
and{
attributes {
eq("key", "fname")
eq("value", "foo")
}
attributes {
eq("key", "lname")
eq("value", "bar")
}
}
println result
}
結果: []