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
的内容,它应该可以解决问题。
但我不确定这是否是最好的方法。