相关疑难解决方法(0)

Spring中的Pageable和@Param数据JpaRepository方法问题[2]

我知道这个问题,但使用org.springframework.data:spring-data-jpa:1.7.0.RELEASE我仍然有同样的问题(Either use @Param on all parameters except Pageable and Sort typed once, or none at all!).我的班级是:

public interface BalanceHistoryRepository extends JpaRepository<BalanceHistory, Long> {
    @Query("select bh from BalanceHistory bh where bh.account.id = :idAccount")
    public BalanceHistory findCurrentBalanceByAccountNumber(PageRequest pageCriteira, @Param("idAccount") long idAccount);
}
Run Code Online (Sandbox Code Playgroud)

编辑

呼叫:

 Pageable page = new PageRequest(0, 1, Sort.Direction.DESC, "date");
        BalanceHistory bh = balanceHistoryRepository.findCurrentBalanceByAccountNumber(1,page);
Run Code Online (Sandbox Code Playgroud)

方法:

@Query("select bh from BalanceHistory bh where bh.account.id = :idAccount")
public BalanceHistory findCurrentBalanceByAccountNumber(@Param("idAccount") long idAccount, Pageable pageCriteira);
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-mvc spring-data

10
推荐指数
1
解决办法
1万
查看次数

在Spring数据JpaRepository方法问题中的Pageable和@Param

我有一个以下的存储库:

public interface MilestoneRepository extends JpaRepository<Milestone,Date> {
    @Query("select m from Milestone m where m.date <= :date order by m.date desc")
    Page<Milestone> findLeftClosest(@Param("date") Date date, Pageable pageable);
}
Run Code Online (Sandbox Code Playgroud)

像上面定义的工作正常,但如果我切换参数顺序:

public interface MilestoneRepository extends JpaRepository<Milestone,Date> {
    @Query("select m from Milestone m where m.date <= :date order by m.date desc")
    Page<Milestone> findLeftClosest(Pageable pageable, @Param("date") Date date);
}
Run Code Online (Sandbox Code Playgroud)

我在上下文初始化时遇到以下异常(发布最有趣的底层原因):

Caused by: java.lang.IllegalArgumentException: Either use @Param on all parameters except Pageable and Sort typed once, or none at all!
    at org.springframework.util.Assert.isTrue(Assert.java:65)
    at org.springframework.data.repository.query.Parameters.assertEitherAllParamAnnotatedOrNone(Parameters.java:265)
    at org.springframework.data.repository.query.Parameters.<init>(Parameters.java:85) …
Run Code Online (Sandbox Code Playgroud)

java jpa spring-data spring-data-jpa

7
推荐指数
1
解决办法
5587
查看次数

标签 统计

java ×2

jpa ×2

spring-data ×2

spring ×1

spring-data-jpa ×1

spring-mvc ×1