Hi,
http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html#entity-mapping-association-collections
Code:
@OneToMany(mappedBy="posten" ,cascade=CascadeType.ALL)
@JoinColumn(name="bestellung")
private List<Posten> artikelBestellungCollection =
new ArrayList<Posten>();
MappedBy ist nicht zwingend notwendig. Du verzichtest aber besser auf eine explizite Deklaration.
Ebnso vezichtest Du am besten auf diese Deklarationen.
Quote:
Posten:
@ManyToOne
@JoinColumn(name="bestnr")
private Bestellung bestellung;
@ManyToOne
@JoinColumn(name="artnr")
private Artikel artikel;
Zudem verweisen @JoinColumn auf bestehende Attribute und sind nicht zu umbenennen von Spalten gedacht. So wie es aus Deinen Codeschnipseln zu erahnen ist.
Wenn mit @JounColumn, dann aber so:
@JoinColumn(name="artikel")
@JoinColumn(name="bestellung")
Was aber eigentlich keinen Sinn ergibt.
Deine bisherige Deklaration ergibt nur Sinn, wenn
Du (VGl. 2.2.2.2. Declaring column attributes) die Tabellenspalten explizit z.B. mit @Column(name = "artnr") umbenannt hättest.
Somit ist
Code:
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="bestellung")
private List<Posten> artikelBestellungCollection =
new ArrayList<Posten>();
Alles was Du brauchst. Den Rest erledigt das Default-Mapping.
Viele Grüße Michael