Exemplo: um Pedido pertence a uma Mesa, se eu apagar a mesa id 1, os pedidos que tiverem como atributo essa mesa, vão ficar com atributo null, queria não deixar apagar caso isso. existe algum annotaion ou propriedade do Hibernate pra isso?
Existe alguma annotation Hibernate que não deixa apagar uma Entidade caso tenha algum registro dela vinculado a outra entidade?
8 Respostas
P
Se você utilizar uma chave estrangeira o própio SGBD não vai permitir que essa mesa seja apagada se a mesma estiver sendo referenciada em outra tabela.
pois no meu código ta permitindo, e ta bugando a lista de pedidos
P
Tem algo errado ai então, você criou as tabelas na mão ou foram geradas pelo Hibernate?
hibernate
D
Mostra ai então como está o relacionamento entre as tabelas.
Pqe de fato não era para deixar apagar o registro se ele estiver sendo usado.
@Entity public class Mesa { @OneToMany private List pedidos; //getters e setters }
public class Pedido{ @ManyToOne(mappedBy = “pedido”) private Mesa mesa; }
está assim, o hibernate ta deixando apagar entidade Pai, e os filhos ficam orfãos, gostaria de bloquear a exclusão da entidade pai se ele tiver filhos, sabe como resolvo?
Altera o seus atributos e ve se vai
@OneToMany
private List<Pedido> pedidos
@ManyToOne(mappedBy = "pedidos")//Com 's' no final
private Mesa mesa;
deu não 
Criado 18 de dezembro de 2018
Ultima resposta 19 de dez. de 2018
Respostas 8
Participantes 4
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo