Salve mi sto cimentando con hibernate......![]()
Ho un'associazione una a molti,cioè un corso contiene + lezioni, se muore il corso devono morire tutte le lezioni ad esso associato. quindi ho scritto:
nella classe Lezione:codice:public class Corso{ ... @OneToMany(mappedBy="corso") @Cascade(value={CascadeType.SAVE_UPDATE,CascadeType.DELETE}) private Collection<Lezione> lezione=new ArrayList<Lezione>(); ... }
Voglio elimnare un corso e di conseguenza tutte le lezioni ad esso associato, quindi richiamo:codice:public class Lezione{ ... @ManyToOne @JoinColumn(name = "ID_CORSO", nullable = false) private Corso corso; ... }
codice:getHibernateTemplate().delete(corso);
Ma ricevo il seguente messaggio d'errore
In pratica mi dice che se elimino l'oggetto corso verrà ricreato perchè utilizzo nel cascade anche il save e l'update, ma io vorrei che con delete(corso) fossero eliminate tutte le lezioni associate al corso....ciò non viene fatto in automatico da hibernate?codice:SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/project] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: deleted object would be re-saved by cascade (remove deleted object from associations): [pojo.Lezione#4]; nested exception is org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [pojo.Lezione#4]] with root cause org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [pojo.Lezione#4]
Se il corso non ha lezioni associate invece viene eliminato tranquillamente....
mi potte aiutare?
grazie 1000

Rispondi quotando
