哪个更快,get()或merge()?

时间:2014-04-04 11:50:07

标签: hibernate

我有一个hibernate对象,从DTO转换为删除。因为这个对象没有附加到Session我只能删除它,它会导致NotUniqueObjectException,所以我需要合并它,或者在Session中找到等效的对象。做Session.get()Session.merge()的速度有多快?

更好的是,有没有办法删除对象而不首先从Session获取托管对象?

1 个答案:

答案 0 :(得分:0)

merge()基本上获取对象,然后将状态从分离的实例复制到附加的实例,并应用级联。很明显,要获得一个对象,get()不仅更快,而且更合适。

您可以使用session.load()来获取附加实例,甚至无需查询数据库,如果对象尚未包含该对象,则会返回未初始化的代理。