我需要将所有命名查询保存在一个单独的文件中。例如
@javax.persistence.NamedQueries({
@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")})
public class AllNamedQueries {
}
现在很多事情本身会导致错误“命名查询只能在实体或 MappedSuperClass 类中定义”。
如何在单独的文件中创建命名查询?单独指的是实体文件以外的文件。
最佳答案
您可以使用允许您在 XML 中定义 JPA 映射的 orm.xml
。这种方法是等效的,并且会覆盖注释。
示例基于 define named query in orm.xml with jpa and hibernate :
<entity class="com.example.Employee">
<table name="Employee.findAll" />
<named-query name="findAll">
<query><![CDATA[
SELECT e
FROM Employee e
]]></query>
</named-query>
</entity>
关于java - 如何在单独的文件中创建命名查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407799/