我有这种情况。想象一下,我有A类和B类。它们之间的关系是一对多的。例如我有
// Class A
public class A {
private Integer id;
// some fields
@OneToMany(name = "A_ID", targetEntity = B.class)
private List<B> objectsB;
// getters and setters
}
// CLass B
public class B {
private Integer id;
// some fields
private Integer A_ID;
}
并且我想编写HQL:Query =(“从aEntity中选择someField,其中aEntity.objectsB.id =:parameter“);
但是由于将一个对象映射到多个对象,所以包含B的列表(objectsB)和aEntity.objectsB.id导致错误。谁能帮我 ?
首先,您不应该A_ID
在B中有一个字段。要么使该关联成为单向的,然后完全删除该字段,要么使该关联成为双向的,并从B到A添加一个ManyToOne关联。
现在,要回答您的问题,您需要了解有关HQL联接的信息:
select someField from A aEntity
join aEntity.objectsB bEntity
where bEntity.id = :parameter
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句