0

我正在使用@NamedQueries,但不确定使用它的最佳方式是什么。

  1. 在实体类之上使用它
  2. 在 DAO 类之上使用它
  3. 创建一个 NamedQueriesFactory 类,该类将为所有实体集中命名查询
  4. 还有什么更好的办法。
4

2 回答 2

1

2(道)和 3(工厂类)不是真正的选择,假设它们也不是实体,因为根据文档

NamedQueries 注释可以应用于实体或映射的超类。

这与 1(实体)和 4(映射的超类)一样。我会通过返回类型和/或查询中访问的主要实体来定位查询。因为无法从 JPQL 查询返回映射的超类,所以答案将为 1(实体)。

于 2013-08-13T20:02:11.203 回答
1

我的好方法是将它们全部放在一个经常使用的 xml 文件中。这会使您的查询外部化,并让您可以自由地将这个 xml 文件发送给某些 DBA,以便以后进行分析。

于 2013-08-13T19:36:43.913 回答