将 IN 子句与 Spring Data @Query 结合使用时出现 IN OUT 错误。
查询:
@Query("SELECT m FROM message m WHERE m.user = :user AND m.tags IN :tags")
List<Message> findByUserAndTags(@Param("user") User user, @Param("tags") List<Tag> tags);
错误:
Caused by: java.sql.SQLException: Missing IN or OUT parameter at index:: 2
IN 子句在使用 Spring Data 自动查询时完美运行:
List<Message> findByUserAndTagsIn(User user, List<Tag> tags);
我在使用@Query 注释时遗漏了什么?
最佳答案
你试过这样吗:
@Query("SELECT m FROM message m WHERE m.user = ?1 AND m.tags IN ?2")
List<Message> findByUserAndTags(User user, List<Tag> tags);
关于java - 带有 Spring Data JPA @Query 注释的 IN 子句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39409859/