0
我想訪問創建它的事務內部的映射對象以創建它的克隆。我想通過Hibernate Session
而不是僅僅使用Object.clone()(長篇故事...)來克隆它。在創建它的事務內部訪問Hibernate映射對象
Transaction tran = session.beginTransaction();
Gadget gadg = new Gadget(1 /* id */, "Gadget Name", "some label", 123);
session.save(gadg);
//this returns null
Gadget gadgClone = (Gadget)session.get(Gadget.class, gadg.getId());
//do something with the clone
tran.commit();
但是,gadgClone
爲空。是因爲它還沒有被提交?在提交之前是否有辦法使其可在session
中訪問?
我需要從Hibernate中獲得一個克隆。有一個原因,但解釋太長而且令人困惑 – amphibient
可能是由於Hibernate在保存對象時失敗。任何堆棧跟蹤?...通過將Hibernate.show_sql設置爲true以及P6Spy來監視HQL可以幫助您確定發生了什麼問題,因爲Hibernate會持續存在您的對象:) – 2014-02-22 00:46:11