Java 如何在单独的文件中创建命名查询
我需要将所有命名查询保存在一个单独的文件中。比如说Java 如何在单独的文件中创建命名查询,java,jpa,named-query,Java,Jpa,Named Query,我需要将所有命名查询保存在一个单独的文件中。比如说 @javax.persistence.NamedQueries({ @NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")}) public class AllNamedQueries { } 现在,这本身就导致了一个错误“命名查询只能在实体或MappedSuperClass类中定义” 如何在单独的文件中创建命名查询?我所说的分离是指实体
@javax.persistence.NamedQueries({
@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")})
public class AllNamedQueries {
}
现在,这本身就导致了一个错误“命名查询只能在实体或MappedSuperClass类中定义”
如何在单独的文件中创建命名查询?我所说的分离是指实体文件以外的文件。您可以使用
orm.xml
来定义xml中的JPA映射。这种方法是等效的,可以覆盖注释
示例基于:
我使用的是OpenJPA,而不是hibernate。hibernate与此有什么关系?这是JPA,符合规范。@SQC:orm.xml
是JPA标准描述符:用xml定义JPA映射-适用于每个JPA提供者。谢谢你们,我以为OpenJPA不用
<entity class="com.example.Employee">
<table name="Employee.findAll" />
<named-query name="findAll">
<query><![CDATA[
SELECT e
FROM Employee e
]]></query>
</named-query>
</entity>