我有一个关于HQL的问题。假设,我有两个表。例如,表“Person”和表“Mobile Number”。一个人很多手机号码。关系是@OneToMany
。
在我的Person.java类中,我是一个实体,我有一些字段,其中一个字段是
List<MobileNumber> mobiles; // (list of mobile numbers).
问题是这样的: 我想在HQL中访问MobileNumber.java类的字段之一。像这样:
Query = EntityManager.createQuery("select p.someField from Person where p.mobiles.someField = "value" );
MobileNumber对象映射到Person对象。正如我所提到的,关系是OneToMany,Person包含MobileNumbers的列表。如果relation是OneToOne或ManyToOne,这不是问题,因为在这种情况下,Person对象只包含一个MobileNumber对象。
提前致谢。
答案 0 :(得分:1)
您可以在另一个实体上JOIN
SELECT mobile.someField
FROM Person person
JOIN person.mobiles mobile
WHERE mobile.someField = "value"