0
我有一个问题,这个查询在JPA:JPA查询右连接上
String query= "SELECT pc.pcKey, c.id, c.pcName
FROM Computer c RIGHT JOIN c.pcKey pc ON c.pcKey = pc.pcKey
WHERE pc.pcKey IS NOT NULL AND pc.pk.idLaboratory = :laboratoryId";
这是错误消息我得到:
with clause can only reference columns in the driving table [SELECT pc.pcKey, c.id, c.pcName FROM com.want.ecdlejb.hibernate.model.Computer c RIGHT JOIN c.pcKey pc ON c.pcKey = pc.pcKey WHERE pc.pcKey IS NOT NULL AND pc.pk.idLaboratory = :laboratoryId]
at org.hibernate.hql.internal.ast.HqlSqlWalker$WithClauseVisitor.visit(HqlSqlWalker.java:508)
实体计算机类
@ManyToOne
@JoinColumn(name="pc_key", nullable=false)
private PcKey pcKey;
实体PcKey类
@OneToMany(mappedBy="pcKey")
private Set<Computer> computerses;
我读到了这个错误的一些错误,但它是在2012年,我认为他们已经修复它。任何人都知道如何正确地使这个查询?
“pc.pk.idLaboratory” 不明白。 – ozgur
请你写完整的实体。 – ozgur
对不起应该是pc.idLaboratory – Faron