hibernate中evict()和clear()方法有什么区别

时间:2017-06-27 06:39:37

标签: hibernate

我想从会话中分离对象,所以我编写了这样的代码..但它不是从会话中分离而是保存到数据库。如果evict()clear()方法有效,任何人都可以回答吗?

session.evict(student);
session.save(student);

1 个答案:

答案 0 :(得分:1)

我认为您应该拨打session.save(student);然后session.evict(student);session.clear();,因为它没有意义,反之亦然。 回答原始问题session.evict(student);会从会话中删除该对象,而session.clear();将完全清除会话。

  

clear()完全清除会话。

     

evict(对象对象)             从会话缓存中删除此实例。

您可以参考https://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html的官方文档。 希望有所帮助