Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JPA + Hibernate:Como definir uma restrição com ON DELETE CASCADE


A JPA oferece a possibilidade de cascata operações (mesclar, persistir, atualizar, remover) para entidades associadas. A lógica está em JPA e não utiliza cascatas de banco de dados.
@OneToMany(cascade=CascadeType.REMOVE)

Não há uma maneira compatível com o padrão JPA de fazer cascatas com cascatas de banco de dados. Se tais cascatas forem preferidas, temos que recorrer à construção específica do Hibernate:@ OnDelete . Funciona com @OneToMany pelo menos, mas costumava haver alguns problemas no passado com @OneToOne e @OnDelete .
@OnDelete(action = OnDeleteAction.CASCADE)

Esteja ciente de que adicionar esta anotação a uma restrição existente não a atualizará. Talvez seja necessário descartá-lo manualmente primeiro para atualizar o esquema corretamente.