我想根据student_id获取college_id,其中College
包含Set<Student> students.
我在查询
@Query("SELECT clg.id FROM College clg WHERE clg.students.any() = (:student)")
public List<Object> getCollegeIdByStudent(@Param("student") Student student);
student
实例中传递的只包含主键。
抛出的异常是
org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet.
请提出正确的查询。
答案 0 :(得分:1)
正确的查询字符串应该类似于
SELECT clg.id FROM College clg WHERE :student MEMBER OF clg.students
clg.students.any()是Querydsl语法,不能在JPQL查询字符串中使用。