Hibernate JavaDoc指出Session.update(Object o)
會引發異常,如果已經有一個持久實例o
,對吧?休眠是*不*拋出異常(我認爲應該)
If there is a persistent instance with the same identifier, an exception is thrown.
但是,當我運行它時,下面的代碼不會拋出任何東西。我認爲它應該!
Email email = new Email("andre", "girafa", "hi");
Session session = factory.openSession();
Transaction tx = session.beginTransaction();
session.save(email);
session.update(email);
session.update(email);
tx.commit();
// didn't throw... Let's try again
tx = session.beginTransaction();
session.update(email);
session.update(email);
tx.commit();
session.close();
// still nothing! :(
正如你可以說,兩次我嘗試做多update()
S,但仍Hibernate的對我採取容易。
有人有預感嗎?
編輯:它似乎只會用相同的ID作爲email
扔如果另一個等價的對象,例如,email2
。我猜那裏的文檔有點sl py。
是的!文檔永遠不想寫清楚,它引導我到這個問題! – GMsoF 2017-05-20 02:58:29