spring data jpa 查询参数为空的问题
public interface PosAccountRecordRepository extends JpaRepository<PosAccountRecord, String> {
List<PosAccountRecord> findTop3ByposAccountIdAndRecordTypeOrderByRecordTimeDesc(final String posAccountId, final int recordType);
@Query(value="SELECT "
+ "SUM(pos.AMOUNT) sumamount, COUNT(1) sumcount, pos.RECORD_TYPE FROM "
+ "POS_ACCOUNT_RECORD pos "
+ "GROUP BY pos.RECORD_TYPE ",nativeQuery=true)
List<Object[]> findPosAccountCollect();
@Query(value="SELECT "
+ "SUM( IF ( pos.RECORD_TYPE = 0, pos.AMOUNT,0 ) ) AS sumincomeamount, "
+ "SUM( IF ( pos.RECORD_TYPE = 1, pos.AMOUNT,0 ) ) AS sumoutgoamount, "
+ "SUM( IF ( pos.RECORD_TYPE = 0, 1,0 ) ) AS sumincomecount, "
+ "SUM( IF ( pos.RECORD_TYPE = 1, 1,0 ) ) AS sumoutgocount "
+ "FROM POS_ACCOUNT_RECORD pos "
+ "where 1=1 "
+ "and pos.RECORD_TIME <= STR_TO_DATE(:a,'%Y-%m-%d') ",nativeQuery=true)
List<Object[]> findPosAccountSumCollect(@Param(value = "a") String a);
}代码如上,在执行 上述的 findPosAccountSumCollect 方法时,如果参数a为空,就不执行 where中 带参数a的查询条件,哪位知道怎么弄啊!在线等~
...全文
相关推荐
Spring-data-jpa-handson
自定义查询:通过定义无参数的方法并命名,Spring Data JPA会根据方法名生成对应的SQL。
Spring-Data-JPA:关于Spring Data JPA的全部
Spring自动为这些接口生成实现。 - **Query方法命名**:Spring Data JPA可以根据方法名自动转换为SQL查询,如`findAll()`、`findById()`等。
详解Spring Data Jpa 模糊查询的正确用法
因此,开发者需要具备灵活的思维和实践经验,以便更好地解决实际问题。七、总结本文详细介绍了 Spring Data JPA 模糊查询的正确用法,包括错误用法和正确用法的比较。
详解Spring Data JPA动态条件查询的写法
Spring Data JPA 动态条件查询写法详解Spring Data JPA 是一个基于 Java Persistence API(JPA)规范的数据访问框架,提供了强大的数据访问功能。
Spring Data JPA 复杂/多条件组合分页查询
`findAll()`方法是Spring Data JPA中的核心查询方法,它接受一个`Specification`对象和`Pageable`对象作为参数。


