我的应用中有一对多关系,如下所示:class
App {
String type
String name
static hasMany = [users: User]
}
class User {
String email
String regid
static belongsTo = App
static hasMany = [apps:App]
}
现在,我希望通过拥有其ID来访问应用的所有用户。我更喜欢使用纯SQL,因为它的工作方式更快,我的数据库将有〜百万条记录。所以我需要一种方法来访问应用程序ID的所有用户(给定应用程序数组)。
我正在尝试的是做这样的事情:
def result = sql.eachRow('SELECT App_Users from App where id in(?)' [id:params.app_checkbox])
但是由于列App_users不可用,这会引发异常。
我试图这样做4-5个小时并且记住我不是网络开发者,它已经让我发疯了,所以你们可以给我建议,如何访问多对多的成员与sql的关系?
答案 0 :(得分:1)
最后我设法用简单的标准来实现它:
def results = App.createCriteria().list() {
createAlias('users', 'user')
'in'("id", goodIds)
projections {
count('users')
}
}