我正在使用Hibernate / JPA来执行本机PostGIS查询。这些查询的问题在于它们需要的参数不是经典的X ='值'形式。
我的查询是: -
@Modifying
@Query(value="UPDATE memo SET readMemo = true and updatedBy_id = ?1 and updatedBy = ?1 and updatedOn = ?2 where assignToUser_id = 1? and readMemo = false and deleted = false ",nativeQuery = true)
void readAllMenoByCurrentUser(Long id, Date updateTime);
错误: -
org.springframework.dao.InvalidDataAccessApiUsageException: Cannot mix JPA positional parameters and native Hibernate positional/ordinal parameters; nested exception is java.lang.IllegalArgumentException: Cannot mix JPA positional parameters and native Hibernate positional/ordinal parameters
在这种情况下有谁知道如何解决?
答案 0 :(得分:4)
您的查询中有"1?"
。这意味着它试图将其解释为"?" (SQL参数)而不是位置参数。将其更改为"?1"