我在JPARepository
上定义了一个方法,用于为给定的id列表更新属性的实体。
@Modifying
@Transactional
@Query("UPDATE Entity SET date = ?1 WHERE id IN (?2)")
void updateDeletionDate(Date date, List<Long> ids);
这是可行的,但我刚刚发现列表的最大长度是1000项(由于ORA-01795),所以我尝试了迄今为止找到的最佳方法:但是,我不知道如何转换查询,因为类似下面这样的操作显然会失败:UPDATE Entity SET date = ?1 WHERE (id , 0) IN ((?2, 0))
1条答案
按热度按时间b1zrtrql1#
您可以在选择要更新的ID的子查询上使用连接