Ich habe eine Entität Fahrt, die eine einbettbare "Entität" enthält Route. Route hat eine List-Eigenschaft Städte mit ManyToMany Beziehung, so hat es Fetchtype LAZY (und ich möchte nicht Eager verwenden). Deshalb möchte ich eine NamedEntityGraph für die Entität Fahrt, definieren, zu laden, laden Sie eine Fahrt Objekt mit einer Strecke mit instantied Liste der Städte. Aber wenn ich meinen Krieg einsetzen, bekomme ich diese Ausnahme:JPA SubGraph zum Definieren des Abnahmetyps einer eingebetteten Eigenschaft
java.lang.IllegalArgumentException: Attribut [route] ist nicht Typ
Fahrt
@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
}
verwaltet von Route
@Embeddable
public class Route implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToMany
private List<Town> towns;
// some getter and setter
}