Exclusão passando a Foreign Key ao invés do Codigo
09/09/2019
0
Preciso excluir os Itens do Agendamento e o hibernate nao permite, quando instancio o AgendamentoItensDAO.excluir passando o agendamento como chave extrandeira, o Hibernate entende que quero excluir o agendamento. Como crio a "query" usando o hibernate pra excluir todos os itens do agendamento que tenham o agendamento_codigo que estou passando no parametro do metodo excluir?
Tenho essas as Entidades Agendamento e AgendamentoItens:
Tenho essas as Entidades Agendamento e AgendamentoItens:
@Entity @SuppressWarnings("serial") public class AgendamentoItens extends GenericDomain { @JoinColumn(nullable = true) @OneToOne private Agendamento agendamento; @JoinColumn(nullable = true) @ManyToOne private ClienteResponsavel clienteResponsavel; } @Entity @SuppressWarnings("serial") public class Agendamento extends GenericDomain { @JoinColumn(nullable = true) @OneToOne private AgendamentoItens agendamentItenso; @JoinColumn(nullable = true) @ManyToOne private ClienteResponsavel clienteResponsavel; } excluir(Agendamento agendamento) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); Transaction transacao = null; try { //preciso excluir na tabela agendamentoDetalhes(codigo, agendamento_codigo, cr_codigo) todo registro //que contenha o ''agendamento_codigo'' que estou passando no objeto ''agendamento''; transacao = sessao.beginTransaction(); sessao.createCriteria(Agendamento.class); sessao.createFilter(agendamento, "agendamento_codigo"); sessao.delete(agendamento); transacao.commit(); } catch (RuntimeException erro) { if (transacao != null) { transacao.rollback(); } throw erro; } finally { sessao.close(); } }
Arnaldo Medeiros
Curtir tópico
+ 0
Responder
Posts
10/09/2019
Giovanny Montinny
Tenta usar na classe Agendamento @OneToOne(cascade=CascadeType.REMOVE)
Responder
Clique aqui para fazer login e interagir na Comunidade :)