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:

codice:
public class Corso{
...
@OneToMany(mappedBy="corso")
@Cascade(value={CascadeType.SAVE_UPDATE,CascadeType.DELETE})
private Collection<Lezione> lezione=new ArrayList<Lezione>();
...
}
nella classe Lezione:

codice:
public class Lezione{
...
@ManyToOne
@JoinColumn(name = "ID_CORSO", nullable = false)
private Corso corso;
...
}
Voglio elimnare un corso e di conseguenza tutte le lezioni ad esso associato, quindi richiamo:

codice:
getHibernateTemplate().delete(corso);

Ma ricevo il seguente messaggio d'errore
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]
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?
Se il corso non ha lezioni associate invece viene eliminato tranquillamente....
mi potte aiutare?
grazie 1000