spring jpa in子句引发操作数应包含1列

icomxhvb  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我使用springjpa对mysql数据库执行select操作
table select id, grp, name from student; 存储库方法 List<Student> findByGrpAndName(String grp, Set<String> name); 它在扔 java.sql.SQLException: Operand should contain 1 column(s) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) 我试着调试hibernet代码以查看查询的创建。查询有语法错误。 select student0_.name as name1_1_, student0_.grp as grp2_1_ from student student0_ where student0_.grp=? and student0_.name=(? , ?); 应该是的 student0_.name in (? , ?); 我是不是漏掉了什么可以告诉jpa这应该是一个 in clause

dba5bblo

dba5bblo1#

你很接近!你可以使用关键字 In 作为 Name 条款(如文件所述)。您需要做的就是将查询修复为:

List<Student> findByGrpAndNameIn(String grp, Set<String> name);

希望有帮助!

相关问题