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)
問題は、allBarsOfUser
istの要素の型と is の要素のBar_$$_javassist_139
型が常にでbars
あるBar
ことです。intersectedBars
[]
次のようにして問題を解決しましたが、解決策が気に入りません。
def allBarsOfUser = userInstance.foos.bars.flatten().collect{Bar.get(it.id)}
より良い解決策は何ですか?
Bar_$$_javassist_139
正常に動作するBar
ようにキャストするにはどうすればintersect()
よいですか?