首页 > 解决方案 > 更新查询中的 IN 子句,使用 JPQL

问题描述

我正在尝试执行此查询:

    @Modifying
@Transactional
@Query(value = "UPDATE SpreadsheetRegisters r SET r.buApprobation =1 WHERE r.idRegister IN (:list)")
public void updateExpiredRegistries(@Param("list") List<BigDecimal> expiredRegistriesIds);

基本上,如果她的 id 在该列表中,我会尝试更新实体。

这是我得到的例外:

o.h.engine.jdbc.spi.SqlExceptionHelper   : ORA-00936: missing expression

org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement

看来我的查询是错误的,但我不知道在哪里......任何人都可以帮助我吗?谢谢

标签: javaspringjpql

解决方案


谢谢你们的支持。几个小时后,我发现了错误。查询是正确的,但我的列表没有,她是空的,因此数据库无法完成他的工作。

JPA:1 我:0


推荐阅读