Я пытаюсь обновить элемент в моей таблице, используя Hibernate, но получаю следующую ошибку:
Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500).незаконно пытался связать прокси с двумя открытыми сессиями;вложенное исключение - org.hibernate.HibernateException: незаконно попытка связать прокси с двумя открытыми сеансами
DAO:
@Override
public Demande getDemandeById(int id) {
// TODO Auto-generated method stub
Session session;
try {
session = this.sessionFactory.getCurrentSession();
} catch (HibernateException ex) {
session = this.sessionFactory.openSession();
}
Demande d = (Demande) session.load(Demande.class, new Integer(id));
return d;
}
@Override
public void updateDemande(Demande d) {
// TODO Auto-generated method stub
Session session;
try {
session = this.sessionFactory.getCurrentSession();
} catch (HibernateException ex) {
session = this.sessionFactory.openSession();
}
session.update(d);
logger.info("Person updated successfully, Person Details="+d);
}
Контроллер:
@GetMapping("rh/editProfilDemande")
public String RHEditProfilForm(Model m, @RequestParam int id_demande) {
this.profil_id = pf.getIdProfil();
Demande d = demandeService.getDemandeById(id_demande);
this.idDemande = id_demande;
m.addAttribute("profil", pf);
m.addAttribute("demande", d);
return "RHEditProfil";
}
@PostMapping("rh/editProfilDemande")
public String RHEditProfil(Model m, Profil pf) {
Demande d= demandeService.getDemandeById(this.idDemande);
demandeService.updateDemande(d);
m.addAttribute("demande",d);
return "RHDemandeTraiteSuccess";
}