Hibernate中的session.clear(),save(),和flush()的理解?
发布网友
发布时间:2022-04-11 23:47
我来回答
共4个回答
热心网友
时间:2022-04-12 01:16
hibernate最新发布包的javadoc里对这三个方法的解释是:
clear() :Completely clear the session.清空session,该清空操作只对于要保存的、删除的和修改的数据起作用,不涉及查询的结果。
close() :End the session by releasing the JDBC connection and cleaning up.释放并清空JDBC连接。但是不一定非得关闭session。
flush(): Force this session to flush.强制刷新流的缓冲。flush必须在一个操作单元结束之后且在提交事务和关闭连接之前被调用。例如插入一条数据。
=========================================
sess.save(user);的意思是将user持久化,也就是说把数据插入到数据库中。清空缓存是在持久化之后进行的。至于要不要清空缓存,是要看你的FlushMode是怎么设置的。
至于你说的抛异常,要具体看是抛出什么异常了。
热心网友
时间:2022-04-12 02:34
hibernate清理缓存时更新数据到数据库的,也就是说提交事务的。
热心网友
时间:2022-04-12 04:09
save()方法在clear()前面 当然可以添加进去啊
热心网友
时间:2022-04-12 06:00
你写的不是缓存,save()方法在clear()前面,,,