Java 在何处使用@namedquerys
我正在使用@namedquerys,但不确定使用它的最佳方式是什么Java 在何处使用@namedquerys,java,hibernate,jpa,Java,Hibernate,Jpa,我正在使用@namedquerys,但不确定使用它的最佳方式是什么 在实体类之上使用它 在DAO类之上使用它 创建一个NamedQueriesFactory类,该类将对所有实体进行集中命名查询 还有其他更好的方法吗 我认为最好的办法是将它们全部放在一个经常使用的xml文件中。这将使您的查询具体化,并使您可以自由地将此xml文件发送给某些DBA,以便于以后进行分析。2(Dao)和3(factory类)不是实际选项,假设它们也不是实体,因为: NamedQueries注释可以应用于实体或映射 超类
我认为最好的办法是将它们全部放在一个经常使用的xml文件中。这将使您的查询具体化,并使您可以自由地将此xml文件发送给某些DBA,以便于以后进行分析。2(Dao)和3(factory类)不是实际选项,假设它们也不是实体,因为: NamedQueries注释可以应用于实体或映射 超类
剩下的是1(实体)和4(映射超类)。我将按返回类型和/或查询中访问的主实体定位查询。因为映射的超类不能从JPQL查询返回,所以答案应该是1(实体)。在持久化单元xml文件中,您可以通过META-INF/example_orm.xml包含它们