以前の質問に関連して、データにアクセスする必要がある可能性のある複数のスレッドがあるため、すべての子オブジェクトが確実に読み込まれるようにしたいと考えています (したがって、遅延読み込みの例外を回避します)。これを行う方法は、クエリ (EJB QL) で「fetch」キーワードを使用することだと理解しています。このような:
select distinct o from Order o left join fetch o.orderLines
Order
のセットを持つクラスを持つモデルを想定しOrderLines
ています。
私の質問は、「個別の」キーワードが必要なようです。そうしないと、Order
for eachが返されるようですOrderLine
。私は正しいことをしていますか?
おそらくもっと重要なのは、どんなに深くても、すべての子オブジェクトを取得する方法があるかということです。約10〜15のクラスがあり、サーバーにはすべてをロードする必要があります...それは常に熱心で、特にWebフロントエンドがすべてをロードすることを意味するため、使用を避けてFetchType.EAGER
いました-しかし、おそらくそれが行く方法です-それはあなたがすること?以前にこれを試してみたところ、ウェブページが非常に遅くなったことを覚えているようですが、おそらくそれは、2 番目のレベルのキャッシュを使用する必要があるということでしょうか?