Con OnDelete annotazione il DDL dovrebbe essere corretto. Potresti controllare come stai configurando la SessionFactory , in particolare quale valore stai utilizzando per il parametro hbm2ddl.auto.
AGGIORNAMENTO
- Riguardo al tuo problema con
UserProviderclasse. Innanzitutto la mappatura sembra essere bidirezionale, ma un lato deve essere il lato proprietario e l'altro deve essere il lato opposto. Ciò significa che quello che possiede la relazione è quello che mantiene la relazione nella tabella di join e l'altro deve essere mappato conmappedByparametro e non controlla la relazione. Quindi ilOneToManyconmappedByindicando l'usermembro dellaUserPropertysarà il lato inverso, EUserPropertysarà il lato proprietario e dovrebbe esserci ilOnDeleteannotazione. Ma fammi provare domani per essere sicuro, non sono davanti alla mia stazione di sviluppo.