繁体   English   中英

使用 JPA 规范和自定义 sql 查询

[英]Using JPA specification with custom sql query

我有下面的代码来过滤给定条件的数据:

public Page<Entity_DTO> findByCriteria(Entity_Criteria criteria, Pageable page) {

final Specification<Entity> specification = createSpecification(criteria);

return Page<Entity_DTO> Entity_DTOPage =
    Entity_Repo.findAll(specification, page).map(Entity_DTO_Mapper::toDTO);
}

createSpecification根据标准创建 JPA 规范。 现在我想添加另一个过滤器,但问题是过滤器无法添加到createSpecification ,因为我没有该过滤器的存储库 class,因为过滤器存储在由外部库管理的表中。 所以我无法为该过滤器创建EntityRepository class。 但我可以使用自定义 sql 查询访问该表。 所以我想知道是否有一种方法可以在使用createSpecification创建的specification变量旁边添加自定义查询(更具体地说WHERE )以返回过滤后的数据。 还是我需要取消specification并仅使用查询执行过滤? 当前的过滤器就像health, size etc. ,我想添加另一个过滤器说status

我们不能将@Query 定义与规范混合,因此目前无法将自定义 sql 查询与规范结合起来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM