あなたの期待される結果が小さければ、それだけでこれを行うのに十分な、おそらく簡単です:
def c = UserRole.createCriteria()
def users = c.list {
role {
eq('authority', 'ROLE_ADMIN')
}
user {
// additional user property constraints
}
}.collect { it.user }
あなたは結果の大規模なセットを期待して、またはあなたがそれらの上のページに必要がある場合は、私はのように、特定のはありませんよ。私はそこにこれを投げるだろうが、私はそれを試みたことはない。 projections { property('association') }
を使用して動作させることができるかどうかわかりません。
def c = UserRole.createCriteria()
def users = c.list {
projections {
property('user') // never tried this, but worth a shot
}
role {
eq('authority', 'ROLE_ADMIN')
}
user {
// additional user property constraints
}
}
あなたが実際に(hasMany
でIE)UserRole
を参照し、あなたのUser
またはRole
クラスに定義された関係を持っていないので、私は、動作しますあなたはあなたの例でやろうとしているものとは思いません。
結果にはどのようなことがありますか、どの程度の大きさになると思いますか? –
私は 'UserRole'と' .collect {} 'をクエリしてそのユーザをオフにすることがオプションかどうか疑問に思っています。 –
結果はかなり小さくなります。ただし、ユーザーから直接問い合わせを受ける必要がある他の関連付けもあります。他の多対多の関連付けも可能であると仮定します。 – Gregg