Hallo zusammen,
kenn mich mit Hibernate noch nicht so aus, daher ist dies vermutlich eine Anfängerfrage.
Ich habe 2 Entitäten welche in einer 1:m Beziehung haben.
Verbunden sind sie mit den Annotations ManyToOne und OneToMany und werden in einer <List> abgelegt.
wenn ich nun aus der Liste einen Eintrag entferne und das Objekt wieder mit persist in die DatenBank schreibe, wird die Zeile in der anderen Tabelle nicht gelöscht sondern ist immernoch vorhanden.
Nach einem refresch des Objektes ist es wieder in der Liste drin.
Hat jemand eine Ahnung wie ich dies verhindern kann?
Meine Tabellen sehen so aus:
PK = Primary Key
FK = Foreign Key
Bestellung: ID (PK), Datum
BestellDetail: ID (PK), BID (FK auf Bestellung), AID (FK auf Artikel)
in Java habe ich folgende Annotations:
Code:
Bestellung:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "BID", nullable = false)
private Integer bid;
@Basic(optional = false)
@Column(name = "Datum", nullable = false)
@Temporal(TemporalType.DATE)
private Date datum;
@OneToMany(mappedBy="bestellung", cascade=CascadeType.ALL)
private List<PBestellDetails> details;
BestellDetail:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID", nullable = false)
private Integer id;
@ManyToOne
@JoinColumn(name = "BID", nullable = false)
private PBestellungen bestellung;
@ManyToOne
@JoinColumn(name = "ABID", nullable = false)
private PArtikel artikel;
@Column(name = "Menge")
private Integer menge;
@Column(name = "Status")
private String status;
@Column(name = "Liefertermin")
@Temporal(TemporalType.DATE)
private Date liefertermin;