自定义查询JPA中的动态where子句

2fjabf4q  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(122)

如何在不使用查询dsl或自定义存储库的情况下传递where子句?

public interface PlTransactionsRepository extends PagingAndSortingRepository<PlTransactions, Integer>, JpaSpecificationExecutor<PlTransactions> {
      @Query(value = "SELECT a FROM PlTransactions :whereClause")
      List<PlTransactions> selectTrxForRecon(@Param("whereClause") Integer whereClause);
}
m1m5dgzv

m1m5dgzv1#

对于动态where查询,不应使用JPQL,而应使用Criteria API或Spring Data JPA JpaSpecificationExecutor
如果你实现了JpaSpecificationExecutor,你将得到find方法,你可以在那里传递一个Specification。一个规范将形成动态的where子句。
请在文档中查找更多信息:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications

相关问题