JPA で 2 つの名前付きクエリに参加できるかどうかを知りたいです。例として、次の2つの名前付きクエリがあります
1 - すべてのアクティブ ユーザー
を取得します 2 - 特定の会社のすべてのユーザーを取得します
上記の 2 つの名前付きクエリに参加して、特定の会社のすべてのアクティブ ユーザーを取得することは可能ですか。
JPA で 2 つの名前付きクエリに参加できるかどうかを知りたいです。例として、次の2つの名前付きクエリがあります
1 - すべてのアクティブ ユーザー
を取得します 2 - 特定の会社のすべてのユーザーを取得します
上記の 2 つの名前付きクエリに参加して、特定の会社のすべてのアクティブ ユーザーを取得することは可能ですか。
これには使用しないでくださいNamedQuery
。クエリ文字列をメソッドに直接渡すのが最善の策です。
createNamedQuery(String name)
メソッドは名前付きクエリの名前をとることを理解する必要があります。一方、createNamedQuery(String qlString)
クエリ文字列を使用するため、これはニーズに適合します。
または
NamedQuery
この目的のために別のものを作成します。
上記の 2 つの名前付きクエリに参加して、特定の会社のすべてのアクティブ ユーザーを取得することは可能ですか。
いいえ、それは不可能です。パラメータを使用してすべてのケースを表現できるスマートな名前付きクエリを作成するか (可能な場合)、複数の名前付きクエリを使用します。
また、JPA 2.0 を使用している場合、Criteria API は、動的クエリを作成する別の (より良い) オプションになる可能性があります。