Aktuelle Persistenzstandards wie z.B. JPA gehen sehr direkt mit Relationen um, es werden einfach Annotationen (in Delphi als Attribute bekannt) benutzt mit denen das ORM die Zusammenhänge erfährt.
Der Entwickler arbeitet also mit den gewohnten Listen von Objekten, die vom Persistenzframework gefüllt werden.
N : M ist kein Problem, dazu wird bei JPA die ManyToMany Assosziation verwendet:
Code:
@IdClass(RoutePlacePK.class)
@Entity
public class RoutePlace {
private Collection<RoutePlace> route;
@ManyToMany(mappedBy = "place")
public Collection<RoutePlace> getRoute() {
return route;
}
public void setRoute(Collection<RoutePlace> route) {
this.route = route;
}
private Collection<RoutePlace> place;
@ManyToMany
public Collection<RoutePlace> getPlace() {
return place;
}
public void setPlace(Collection<RoutePlace> place) {
this.place = place;
}
}
http://stackoverflow.com/questions/1...ey-with-itself
Ich arbeite noch nicht viel mit JPA, es ist aber in der Praxis weit verbreitet, unter der Haube arbeitet dann Hibernate oder ein anderes etabliertes Framework. JPA standardisiert 'nur' die Spezifikation.