4
查询时非法尝试取消引用集合我有2类:使用JPA关系
@Table(name = "PEOPLE")
@Entity
class Person {
@OneToMany(mappedBy = "owner")
Set<Car> cars;
}
@Table(name = "CARS")
@Entity
class Car {
@ManyToOne
@JoinColumn(name = "OWNER_ID", referencedColumnName = "ID")
Person owner;
@Column(name = "MODEL")
String model;
}
我试图通过模型来查询的人。运行下面的代码失败,即使表之间的连接是清楚的:
select mo from Person mo where mo.cars.model = ?
的错误是:
org.hibernate.QueryException: illegal attempt to dereference collection [...] with element property reference [model] [select mo from Person mo where mo.cars.model = ?]
不知道如何解决这个问题?
*顺便说一句,这是一个简单的例子。失败的代码有几个'OneToMany'连接。它更像是一棵树,条件是在一片树叶上。 –
所以请阅读JPA规范或任何JPQL文档,并看到您不能取消引用这样的集合 –