@Ramires_Nascimento escreveu:
Estou com dificuldades em atualizar um objeto com hibernate. O seguinte JSON representa um Agendamento meu objeto que ainda não existe no banco. Porém paciente e dentista já existem no banco, por isso eles têm id.
{ "paciente":{ "id":1, "nome": "Ramires Moreia", "idade": 22 }, "dentista":{ "id": 2, "crm" : "123-34", "nome": "Edilaine Santiago" }, "horario":{ "hora":7, "minuto":30, "diaDaSemana": "Segunda-Feira" }, "observacao":"dor no dente" }
Estou fazendo assim: Leia os comentário são auto explicativos
public class AgendamentoController { public static String agendar(Request req, Response resp) { //tranformo o JSON no objeto agendamento Agendamento agendamento = new Gson().fromJson(req.body(), Agendamento.class); EntityManager manager = new JPAUtil().getEntityManager(); manager.getTransaction().begin(); //busco o Dentista pelo ID Dentista dentista = manager.find(Dentista.class, agendamento.getDentista().getId()); //tento adcionar o agendamento na agenda do dentista //é aqui que a exceção é lançada dentista.getAgenda().addAgendamento(agendamento); manager.getTransaction().commit(); return "impllementando"; } } }
O Erro que eu recebo é:
javax.persistence.EntityExistsException: A different object with the same identifier value was already associated with the session : [br.edu.ifce.odonto.model.Dentista#2]
Mensagens: 2
Participantes: 1