@NamedQueries を使用していますが、最適な使用方法がわかりません。
- エンティティクラスの上で使用
- DAO クラスの上で使用する
- すべてのエンティティに対して一元化された名前付きクエリを持つ NamedQueriesFactory クラスを 1 つ作成します。
- 他のより良い方法。
ドキュメントによると、2 (Dao) と 3 (ファクトリー クラス) は実際のオプションではありません。
NamedQueries アノテーションは、エンティティまたはマップされたスーパークラスに適用できます。
1 (エンティティ) と 4 (マップされたスーパークラス) と同様です。戻り値の型および/またはクエリでアクセスされるメイン エンティティによってクエリを検索します。マッピングされたスーパークラスは JPQL クエリから返すことができないため、答えは 1 (エンティティ) になります。