将Java Arraylist传递到JpaRepository的本机查询

时间:2019-03-05 03:27:00

标签: java mysql spring-data-jpa nativequery

我有一个ID列表的列表,因此如何将其传递给JpaRepository的本机查询?我找到了一些有关在SQL查询中使用IN的答案,但未与List作为参数一起使用。 示例:我在数据库中有一个Task列表,我想选择ID在列表中的所有任务。 我的代码如下:

    @Query("SELECT i FROM Task i WHERE DATE(i.startTime) = DATE(?1)")
Page<Task> findTasksByAssigneeIdAndAndStartTime(Pageable pageable, List<Long> taskId, Timestamp today);

谢谢

1 个答案:

答案 0 :(得分:0)

您可以将IN与list一起用作参数。像下面。

 @Query(value="SELECT i FROM Task i WHERE DATE(i.startTime) = DATE(?1) and taskId in :taskId",nativeQuery = true)
 Page<Task> findTasksByAssigneeIdAndAndStartTime(Pageable pageable, List<Long> taskId, Timestamp today);