Hallo,
ich habe eine Klasse Fortbildung und eine Klasse Evaluation.
Die Evaluation hat eine Menge von Fortbildungen:
Code:
@Entity
class Evaluation {
...
@ManyToMany
@JoinTable( name = "fortbildung_evaluation",
joinColumns = { @JoinColumn( name = "evaluation_id" )},
inverseJoinColumns = { @JoinColumn( name = "fortbildung_id" )} )
public List<Fortbildung> getFortbildungen() {
return fortbildungen;
}
...
}
Die Fortbildung weiß nichts von dieser Zuordnung.
Mein Problem entsteht, sobald ich eine zugeordnete Fortbildung löschen will. In diesem Fall bekomme ich:
Quote:
...
Caused by: java.sql.BatchUpdateException: integrity constraint violation: foreign key no action; FK42D220F7459961BF table: FORTBILDUNG_EVALUATION
at org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 53 more
Ich habe mir Cascading angeschaut, jedoch habe ich das so verstanden, dass nur Änderungen von Seiten der Evaluation cascadiert werden, nicht umgekehrt.
Zusammenfassend: was muss ich machen, damit die Referenz aus Fortbildung_Evaluation rausgelöst wird, wenn ich eine Fortbildung lösche, hon dass ich irgendwelche Integritäten verletze?
Danke schonmal :)