これらの関係を持つ 3 つのドメインがあります。
A hasMany [bs: B] B belongsTo [c: C] C
Webflow内でこれを行います(簡易版):
flow.a = new A(stuff:stuff)
flow.a.addToBs(new B(c:C.get(1)))
flow.a.addToBs(new B(c:C.get(2)))
flow.a.addToBs(new B(c:C.get(3)))
次に、このすべての情報を gsp ページに表示しようとします。
<g:each in="${a.bs}" var="b">
${b.c.someProperty}
</g:each>
これが私が得るところですLazyInitializationException
。理由は理解していると思いますが(webflowはスコープをシリアル化します)、すべてのインスタンスflow
を試してみると、それらが添付されません:attach()
C
flow.a.bs.each {
it.c.isAttached() // returns false
it.c.attach()
it.c.isAttached() // returns false
}
どうしてこれなの?私が見ることができるエラーメッセージはありません...これを行うためのより良い方法はありますか(lazy:false
これらの関係を設定することを考えています)?