从多对多关系中检索的 HQL 语法

由良

我有两个实体,学生和老师,他们有多对多的关系

学生.java:

@ManyToMany
    @JoinTable(name="CROOS_STUDENT_TEACHER", joinColumns=@JoinColumn(name="STUDENT_ID"), inverseJoinColumns=@JoinColumn(name="TEACHER_ID"))

    private Collection<Teacher> teachers = new ArrayList<Teacher>();

老师.java:

@ManyToMany
private Collection<Student> students= new ArrayList<Student>();

我目前正在尝试使用教师的 id 检索特定教师下的学生列表

select a from Student JOIN a.teachers p FROM Teacher where p.id = :id

并给了我一个错误

Ia 也改变了一点,比如从老师中删除,但它仍然不起作用,我还能做什么?

Manh Quyet Nguyen

正确的应该是:

select a from Student a JOIN a.teachers p where p.id = :id

您的查询包含一些语法缺陷,例如:

  • from单个查询中的两个关键字

  • 您没有指定别名Student但使用a

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章