[英]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,因为过滤器存储在由外部库管理的表中。 所以我无法为该过滤器创建Entity
和Repository
class。 但我可以使用自定义 sql 查询访问该表。 所以我想知道是否有一种方法可以在使用createSpecification
创建的specification
变量旁边添加自定义查询(更具体地说WHERE
)以返回过滤后的数据。 还是我需要取消specification
并仅使用查询执行过滤? 当前的过滤器就像health, size etc.
,我想添加另一个过滤器说status
。
我们不能将@Query 定义与规范混合,因此目前无法将自定义 sql 查询与规范结合起来
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.