Olá pessoal, sou iniciante em hibernate, gostaria de um help
Estou tentando deletar um registro de uma tabela e os relacionamentos.
Exemplo eu tenho a tabela Produto e a tabela Estoque. A tabela Estoque tem o id (foreing key) da tabela Produto. Quero que quando eu remove o registro na tabela Produto ele remova também da tabela Estoque. Já tentei de varias formas mas não consegui.
Se eu executar do jeito que está no exemplo a baixo ele da erro de violacão de constraint (ConstraintViolationException)
Segue as minhas entidades e minhas classes.
Essa é minha entidade Produto
[code]@Entity
public class Produto {
@Id
@GeneratedValue
private int id;
private String nome;
private String descricao;
private String preco;
private String desconto_max;
private String comissao;
@Temporal(TemporalType.DATE)
private Date datAtivacao;
@Temporal(TemporalType.DATE)
private Date datDesativacao;
// metodos get e sets
[/code]
Essa é minha entidade estoque
@Entity
public class Estoque {
@Id
@GeneratedValue
private int id;
private int quantidade;
@Temporal(TemporalType.DATE)
private Date datAtualizacao;
@ManyToOne
private Produto produto;
Meu Bean com o metodo excluir
public String excluir(){
//Pega o objeto selecionado no DataTable
produto = (Produto) objDataTableProduto.getRowData();
//Cria a sessao com o banco e a trasacao
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try{
session.delete(produto);
t.commit();
SessionUtil.addSuccessMessage("OperacaoSucesso");
}catch (Exception e){
t.rollback();
SessionUtil.addErrorMessage("OperacaoFracasso");
}finally{
session.close();
}
return null;
}