grails 1.3.7 を使用して、特定のドメイン クラスのインスタンスの 2 つのリストを交差させたいと考えています。
問題は、交差の結果が常に空のリストになるように、1 つのリストのインスタンスが javasisst によって作成されることです。
ここに私のドメインがあります:
class User {
...
static hasMany = [foos : Foo]
...
}
class Foo {
...
static hasMany = [bars : Bar]
...
}
class Bar {
...
static hasMany = [localizedTitles : LocalizedTitle]
...
}
Bar次のように、ユーザーのすべてのインスタンスのリストを取得します。
def allBarsOfUser = userInstance.foos.bars.flatten()
そして、Barインスタンスの別のリストと交差してみてください:
def intersectedBars = bars.intersect(allBarsOfUser)
問題は、allBarsOfUseristの要素の型と is の要素のBar_$$_javassist_139型が常にでbarsあるBarことです。intersectedBars[]
次のようにして問題を解決しましたが、解決策が気に入りません。
def allBarsOfUser = userInstance.foos.bars.flatten().collect{Bar.get(it.id)}
より良い解決策は何ですか?
Bar_$$_javassist_139正常に動作するBarようにキャストするにはどうすればintersect()よいですか?