Anu*_*sha 1 java xml spring spring-data-jpa spring-boot
我正在使用spring-boot 1.5.6 RELEASE。我想做一个基本的事情,将查询从@Query存储库中的注释移动到任何xml文件。
经过一番阅读,我发现我们可以使用orm.xml或jpa-named-queries.properties编写自定义查询。
我不了解这些XML文件必须存在的位置的文件结构。而且META-INF我的项目中没有文件夹。
例:
POJO类别:
@Entity
public Class Customer {
private int id;
private String name;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
仓库:
public interface CustomerRepository extends PagingAndSortingRepository<Customer,Integer> {
// this query I need from an external xml file as it might be quite complex in terms of joins
@Query("Select cust from Customers cust")
public List<Customer> findAllCustomers();
}
Run Code Online (Sandbox Code Playgroud)
编辑:参考此stackoverflow问题。我需要知道这些文件(orm.xml和persistence.xml)在哪里存储,因为我没有META-INF文件夹。
提前致谢!!
创建META-INF内部resources文件夹。现在jpa-named-queries.properties在该META-INF文件夹中创建文件。
像下面这样在属性文件中编写查询:
Customer.findAllCustomerByNamedQuery=Select c from Customer c
其中Customer表示实体类的名称,findAllCustomerByNamedQuery是查询名称
在您的客户存储库中,编写此代码以调用写在属性文件中的查询:
List<Customer> findAllCustomerByNamedQuery();