Exclusão passando a Foreign Key ao invés do Codigo
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
Curtidas 0
Respostas
Giovanny Montinny
09/09/2019
Tenta usar na classe Agendamento @OneToOne(cascade=CascadeType.REMOVE)
GOSTEI 0