Java 如何在HQL中编写联接查询

Java 如何在HQL中编写联接查询,java,hql,Java,Hql,我有3张DB表格 我想这样进行联接查询: from Installment i join Payment p on i.vcode=p.Installment_Vcode and p.vcode=:vcode 但当我运行它时,会发生以下错误: unexpected token: on near line 1, column 47 [from information.Installment i join Payment p on i.vcode=p.Installment_Vcode] HQ

我有3张DB表格

我想这样进行联接查询:

from Installment i 
join Payment p on i.vcode=p.Installment_Vcode and p.vcode=:vcode
但当我运行它时,会发生以下错误:

unexpected token: on near line 1, column 47 [from information.Installment i join Payment p on i.vcode=p.Installment_Vcode]

HQL没有启用运算符。只能执行联接,并且可以有一个可选的
with
子句。

它也不适用于“with”。错误为:加入的路径应为!对正如我所说,正如我给你的链接所解释的,你只能通过两个实体之间的关联(一个实体、多个实体等)来连接两个实体。HQL!=这两个表有一个关系(一对多),正如我在query:I.vcode=p.vcode中所写的那样。vcode是PK,而不是关联。看在上帝的份上,读一下文档。如果
分期付款
类有一个类型为
付款
的字段,用
OneToOne
OneToMany
注释,或者一个类型为
集合
的字段,用
OneToMany
manytomy
注释,那么您将有一个关联。