【发布时间】:2015-02-17 14:04:37
【问题描述】:
我有一个实体Ride,它嵌入了一个可嵌入的“实体”Route。 Route 有一个 List 属性 towns 与 ManyToMany 关系,所以它有 fetchtype LAZY(我不想使用 EAGER)。所以我想为实体 Ride 定义一个 NamedEntityGraph,以加载带有 Route 的 Ride 对象和实例化的城镇列表。 但是当我部署我的战争时,我得到了这个异常:
java.lang.IllegalArgumentException: 属性 [route] 不是托管类型
骑行
@Entity
@NamedQueries({
@NamedQuery(name = "Ride.findAll", query = "SELECT m FROM Ride m")})
@NamedEntityGraphs({
@NamedEntityGraph(
name = "rideWithInstanciatedRoute",
attributeNodes = {
@NamedAttributeNode(value = "route", subgraph = "routeWithTowns")
},
subgraphs = {
@NamedSubgraph(
name = "routeWithTowns",
attributeNodes = {
@NamedAttributeNode("towns")
}
)
}
)
})
public class Ride implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Embedded
private Route route;
// some getter and setter
}
路线
@Embeddable
public class Route implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToMany
private List<Town> towns;
// some getter and setter
}
【问题讨论】:
标签: java jpa jpa-2.1 embeddable