テーブルからデータを取得しようとしているクエリがあります。他のテーブルを指している外部キーがあり、返すエンティティのコレクションにデータが必要な場合を除いて、そのデータも元に戻したい...
try
{
System.out.println("testing 1..2..3");
listQL = emf.createNamedQuery("getQuickLaunch").getResultList();
System.out.println("What is the size of this list: number "+listQL.size());
qLaunchArr = listQL.toArray(new QuickLaunch[listQL.size()]);
}
これは最初のテーブルを取得する際に機能しますが、他のコレクションは満たされていないようです。少なくとも私が持っているテスト ビュー ウィンドウでは... (私は WID を使用しています)...
これが私のJPAです...
@OneToMany(mappedBy="quickLaunchId", cascade=CascadeType.ALL)
private List<QuickLaunchPerm> quickLaunchPermCollection;
@OneToMany(mappedBy="quickLaunchId", cascade=CascadeType.ALL)//fetch=FetchType.EAGER)
private List<QuickLaunchProvider> quickLaunchProviderCollection;
@OneToMany(mappedBy="quickLaunchId")//, cascade=CascadeType.ALL)//fetch=FetchType.EAGER)
private List<QuickLaunchDistlist> quickLaunchDistlistCollection;
呼び出しているテーブルを実際に結合する名前付きクエリが必要ですか? それが私が必要だと考えているものです。
ありがとう。
UDPATE: 問題の名前付きクエリ
@NamedQuery(name="getQuickLaunch", query = "SELECT q FROM QuickLaunch q")
それで、引き戻したい他のすべてのコレクションに内部結合 (または左結合) を追加する必要がありますか?