我有两个域类:
class A {
int id
static hasMany = [bs: B]
}
class B {
int id
}
我可以使用 GORM 查找与具有给定 id 的 B 实例相关的所有 A 实例吗?
我试过:
A.findAllByBs(B.get(bid))
但我收到以下错误:
Class: java.sql.SQLException
Message: No value specified for parameter 1
我有两个域类:
class A {
int id
static hasMany = [bs: B]
}
class B {
int id
}
我可以使用 GORM 查找与具有给定 id 的 B 实例相关的所有 A 实例吗?
我试过:
A.findAllByBs(B.get(bid))
但我收到以下错误:
Class: java.sql.SQLException
Message: No value specified for parameter 1
来自 Gorm 文档
查询关联
可以通过具有与属性名称匹配的节点来查询关联。例如说 Account 类有很多 Transaction 对象:
class Account {
…
static hasMany = [transactions: Transaction]
…
}
我们可以通过使用属性名称事务作为构建器节点来查询此关联:
def c = Account.createCriteria()
def now = new Date()
def results = c.list {
transactions {
between('date', now - 10, now)
}
}
上面的代码将找到过去 10 天内执行过交易的所有 Account 实例。您还可以将此类关联查询嵌套在逻辑块中:
def c = Account.createCriteria()
def now = new Date()
def results = c.list {
or {
between('created', now - 10, now)
transactions {
between('date', now - 10, now)
}
}
}
所以这应该工作:
def c = A.createCriteria()
def results = c.list {
bs {
// Conditions...
}
}
希望它有所帮助或提供任何提示如何遵循。