Spring数据访问异常求助:命名参数users未绑定问题排查
问题排查与解决
核心问题
报错Named parameter not bound : users的直接原因是JPQL查询语句中,命名参数: users的冒号与参数名users之间多了一个空格,导致Spring Data JPA无法识别该参数。
修复代码
将冒号和参数名之间的空格删除即可:
@Query("SELECT p FROM Post p WHERE p.id IN :users ORDER BY p.createdAt DESC") List<Post> findAllPostByUserIds(@Param("users") List<Integer> userIds);
后续排查(若修复后仍有问题)
- 确认
@Param注解的参数名"users"与JPQL中的:users完全匹配(注意大小写敏感) - 检查调用该方法时传入的
userIds集合是否有效(非null且包含至少一个元素,避免IN子句为空引发语法错误) - 验证实体类
Post的id、createdAt字段与数据库表字段映射正确
内容的提问来源于stack exchange,提问作者gzhe1056
相关产品推荐
相关产品推荐

