Я сейчас испытываю эту проблему. Используя метод hibernate merge(Object o)
, кажется, что он не работает, но странно то, что в моем другом коде это работает. Это мой код выглядит так:
public Player addOrUpdate(Player player){
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
try{
tx = session.beginTransaction();
if(player.getId() == null){
id = (Integer) session.save(player);
}else{
session.merge(player);
id = player.getId();
}
tx.commit();
}//catch and finally
}
и в моем основном классе я пытаюсь сделать это:
PlayerDao pDao = new PlayerDao();
Player p = new Player();
p.setId(1);
p.setStatus("Hello");
pDao.addOrUpdate(p);
Когда я смотрю на свою базу данных, в моих данных ничего не меняется. Из моего другого кода (с использованием других классов) я просто сделал то же самое, и мои данные были успешно обновлены.