Bom dia!
Pessoal, estou com o seguinte problema:
Eu tenho a seguinte classe:
public class Manutencao implements Serializable{
private static final long serialVersionUID = 6130813882879283989L;
private Long id;
private Calendar data;
private Set<Servidor> servidor;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="manutencao_servidor",
joinColumns={@JoinColumn(name="fk_manutencao")},
inverseJoinColumns={@JoinColumn(name="fk_servidor")})
public Set<Servidor> getServidor() {
return servidor;
}
public void setServidor(Set<Servidor> servidor) {
this.servidor = servidor;
}
E na minha lógica:
public String armazena(Manutencao manutencao) {
// Fundindo uma instância transient para uma instância persistente.
Manutencao manu = this.daoFactory.getManutencaoDao().merge(manutencao);
Set<Servidor> servidoresAtual = (Set<Servidor>) session.getAttribute("servidores");
// Atualiza a coleção de servidores
if (servidoresAtual!=null && !servidoresAtual.isEmpty()){
manu.setServidor(servidoresAtual);
}
// Salvando a a classe...... **** Problema ****
this.daoFactory.getManutencaoDao().merge(manu);
O problema é o seguinte, até aqui funciona direitinho para adicionar, mas quando eu vou alterar ele tá fazendo o seguinte:
delete from manutencao_servidor where fk_manutencao=?
insert into datac_manutencao_servidor (fk_manutencao, fk_servidor) values (?, ?)
Já tentei usando o merge, update e dá na mesma!!! O que eu tô fazendo de errado!!!
Desde já, agradeço a atenção e ajuda de todos.
Um abraço,
Tubarão