0

我有两个域类:

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
4

1 回答 1

2

来自 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...
    }
}

希望它有所帮助或提供任何提示如何遵循。

于 2012-09-20T13:38:20.923 回答