0

テーブルからデータを取得しようとしているクエリがあります。他のテーブルを指している外部キーがあり、返すエンティティのコレクションにデータが必要な場合を除いて、そのデータも元に戻したい...

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")

それで、引き戻したい他のすべてのコレクションに内部結合 (または左結合) を追加する必要がありますか?

4

0 に答える 0