Olá a todos,
estou com um problema aqui, tenho uma classe que possui uma chave composta utilizando @EmbeddedId.
Mas preciso dar um update em um campo que compoem a chave. Já tentei de várias formas, mas não cheguei a lugar nenhum.
try {
daopendulos.beginTransaction();
Pendulos pendmuda = modelo.getPend(gridpendulos.getSelectedRow());
pendmuda.setPendulosPK(new PendulosPK(unidade.getCodunidade(), pendmuda.getPendulosPK().getPendulo() + 1));
daopendulos.Merge(pendmuda);
daopendulos.commitTransaction();
} catch (Exception ex) {
java.util.logging.Logger.getLogger(IFrmCriaArm.class.getName()).log(Level.SEVERE, null, ex);
}
Esse é um teste que eu fiz, mas já fiz vários outros…nesse estou alterando somente um objeto, na realidade vou fazes isso com uma lista de objetos…
org.hibernate.HibernateException: identifier of an instance of br.com.widitec.modelos.Pendulos was altered from br.com.widitec.modelos.PendulosPK[codunidade=36, pendulo=3] to br.com.widitec.modelos.PendulosPK[codunidade=36, pendulo=4]
Não quero excluir e inserir novamente.
Qualquer ajuda é bem vinda.
Obrigado.