Löschen OneToMany Beziehung (delete-orphan) geht nicht

navino

Aktives Mitglied
Hallo,

beim Entferner von Objekten aus einer Liste wird kein delete sondern ein update durchgeführt. Dieser geht allerdings schief
da ich das Feld PUBLISHER_ID auf NOT NULLl gesetzt habe.

Hier mein Mapping der Klasse Publisher.

@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="PUBLISHER_ID")
@Cascade(value=org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
public Set<Book> getBooks() {
return books;
}

In der BusinessSchicht mache ich für Testzwecke folgendes:

Publisher p = publisherDao.getPublisher(new Long(19)); //Publisher laden, der hat zwei Books
Set<Book> newBooks = new HashSet<Book>(); //Neues Set anlegen
p.setBooks(newBooks);//und dem Publisher zuordnen
publisherDao.savePublisher(p); //Publisher speichern.

Dann bekomme ich folgenden Fehler:

org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; SQL [update T_BOOK set isbn=?, preis=?, PUBLISHER_ID=?, title=? where id=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
Caused by: java.sql.BatchUpdateException: Column 'PUBLISHER_ID' cannot be null

Es wird also ein update versucht und kein delete!

Ich hoffe es kann mir jemand helfen!

Gruß
navino
 

Deros

Bekanntes Mitglied
du rufst halt kein delete auf sondern ersetzt halt die alte liste durch eine leere. muss halt knallen...würde es halt mal mit nem ordnungsgemäßen löschen der einzelnen objekte versuchen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Hibernate OneToMany und ManyToOne Objekte löschen Data Tier 13
G JPA kann Objekt nicht löschen Data Tier 4
A @ManyToMany - Kein Löschen bereits zugewiesener Entities Data Tier 6
F JPA + EclipseLink rekursive Beziehung löschen Data Tier 2
T JPA2/Hibernate: Many-to-Many-Relation wird u.a. beim löschen nicht aktualisiert Data Tier 14
M EJBQL: Item aus einer Collection(ManyToOne) löschen Data Tier 7
G Hibernate: many-to-one - Verwaiste Datensätze löschen Data Tier 2
T Hibernate: Löschen vor Speichern Data Tier 34
S Hibernate: Objekt aus Liste löschen Data Tier 3
G Mit JPA Tabellen löschen Data Tier 8
eSK Objekt löschen -> Ganze Tabelle gelöscht. Data Tier 6
OnDemand OneToMany löscht Eintrag aus Collection Data Tier 0
OnDemand Hibernate OneToMany oder lieber OneToOne Data Tier 16
OnDemand OneToMany Composite Key Mapping Data Tier 18
D Hibernate Umsetzung multiple OneToMany Beziehung Data Tier 6
C JPA FetchType.LAZY, Relation @OneToMany und Problem mit dem update Data Tier 1
M Hibernate Reads Nulls in OneToMany Data Tier 1
J OneToMany Data Tier 9
H Hibernate Problem mit Lazy Loading bei @OneToMany Collections Data Tier 5
C JPA oneToMany/ManyToOne bidirektional verwirrung Data Tier 6
Y @OneToMany Liste Probleme mit Identity Keys Data Tier 2
F @OneToMany ohne Fremdschlüssel Data Tier 3
G OneToMany undirektional Data Tier 3
D OneToMany ohne Join Table Data Tier 3
L Hibernate 1:n Beziehung zur selben Tabelle Data Tier 2
aze Hibernate Entfernen aus einer Collection soll zum Entfernen einer Beziehung führen Data Tier 3
S OneToOne Beziehung erzeugt not marked cascade PERSIST Data Tier 1
S Many-to-One Beziehung?! Data Tier 4
G Hibernate 1:n Beziehung mit Vererbung Data Tier 5
I Beziehung User <-> Freund, wie bei Sozialen Netzwerken Data Tier 17
H [Hibernate]1:1 Beziehung Data Tier 8
G Hibernate 0...1 : 1 Beziehung Data Tier 6
K hibernate manytoone beziehung und fremdschlüssel als primary schlüssel Data Tier 2
M 1:n:1 Beziehung oder vererben? Data Tier 3
N Hibernate Annotations Rekursive Beziehung? Data Tier 2
G N:M:K Beziehung, n:m nur mit 3 tabellen Data Tier 3

Ähnliche Java Themen


Oben