java.lang.IllegalArgumentException: 未知参数位置: 3.



jpa nativeQuery

'''科特林

@Query(value = 
"SELECT "members".*FROM "members" WHERE team_id=?1 AND status=?2 
ORDER BY CASE WHEN member_id=?3 THEN 0 ELSE 1 END,last_modified_At asc",
countQuery = "SELECT count(*) FROM members where team_id = ?1 AND status =?2",
nativeQuery = true)
fun findMembers(teamId: Long, status: Short, memberId: Long, pageable: Pageable?): Page<Member>

'''

当 Spring 启动启动时,两个 SQL 参数并不完全相同,收到此错误。 结果是正确的。如何解决此错误?

例如,为什么不使用(@Param("teamId"(Long teamId(?

然后,您只需输入:teamId而不是?1

问题是您的计数查询。它不使用?3参数。

如果您添加类似AND ?3 = ?3的内容,它应该可以解决问题。

但我不确定这是否是最好的方法。

相关内容

  • 没有找到相关文章