clj7thdc1#
您可以使用命名查询,其中的查询必须定义在名为META-INF/jpa-named-queries.properties的档案中。请参阅spring example:
META-INF/jpa-named-queries.properties
User.findBySpringDataNamedQuery=select u from User u where u.lastname=?1
在存储库的注解中按名称引用查询,这里是corresponding repository example from spring:
@Query(name = "User.findBySpringDataNamedQuery", countProjection = "u.firstname") Page<User> findByNamedQueryAndCountProjection(String firstname, Pageable page);
ecr0jaav2#
按照Ralf Stuckert的建议,使用META-INF/jpa-named-queries.properties存储命名查询您可以使用\将长查询拆分为多行。示例:
\
Customer.findNameNative=\ SELECT C.NAME \ FROM CUST_TABLE C \ WHERE CONDITIONS
u4vypkhs3#
我想你正在找一个地方把你的大查询字符串作为可读的?像Mybatisxml。据我所知,在数据jpa中没有这样做的方法。但是您可以将这个大型查询放在存储过程中,然后像下面这样轻松地调用它。
Call your_stored_procedure_name(param1,param2):
3条答案
按热度按时间clj7thdc1#
您可以使用命名查询,其中的查询必须定义在名为
META-INF/jpa-named-queries.properties
的档案中。请参阅spring example:在存储库的注解中按名称引用查询,这里是corresponding repository example from spring:
ecr0jaav2#
按照Ralf Stuckert的建议,使用
META-INF/jpa-named-queries.properties
存储命名查询您可以使用
\
将长查询拆分为多行。示例:
u4vypkhs3#
我想你正在找一个地方把你的大查询字符串作为可读的?像Mybatisxml。据我所知,在数据jpa中没有这样做的方法。
但是您可以将这个大型查询放在存储过程中,然后像下面这样轻松地调用它。