Oi Pessoal,
Boa noite.
Estou precisando de uma ajuda em Hibernate.
Tenho a relação de um para muitos entre departamento e empregados. Ela é implementada conforme abaixo:
//Na classe Departamento
@OneToMany
@JoinColumn(name="id_empregado")
private Set<Empregado> empregados;
O problema é que toda vez que quero adicionar ou remover um empregado, o código fica como abaixo:
departamento.getEmpregados().add(empregado);
departamento.getEmpregados().remove(empregado);
Ou seja, ele busca todos os empregados do banco para adicionar ou remover um.
Quando chamamos getEmpregados() e depois adicionamos, mesmo no modo LAZY, ele manda um select.
Não faz sentido ter um select a mais, quando basta apenas um insert ou delete. A medida que o banco vai crescendo, essa dupla e desnecessária operação se torna cada vez mais onerosa.
Alguém conhece alguma estratégia para contornar isto ?
Obrigado