Com o
OnDelete anotação o DDL deve estar certo. Você poderia verificar como está configurando o SessionFactory , especificamente qual valor você está usando para o parâmetro hbm2ddl.auto. ATUALIZAÇÃO
- Em relação ao seu problema com o
UserProviderclasse. Primeiro, o mapeamento parece ser bidirecional, mas um lado deve ser o lado do proprietário e o outro deve ser o lado inverso. Ou seja, aquele que possui a relação é aquele que persiste a relação na tabela de junção, e o outro deve ser mapeado com omappedByparâmetro e não controla a relação. Portanto, oOneToManycom omappedByapontando para ousermembro daUserPropertyserá o lado inverso, eUserPropertyserá o lado do proprietário, e deve haver oOnDeleteanotação. Mas deixe-me testá-lo amanhã para ter certeza, não estou na frente da minha estação de desenvolvimento.