hibernate保存
hibernate对于对象保存提供了太多思路方法他们的间有很多区别这里细说下以便区别
、预备知识
在所有的前介绍说明下对于hibernate它对象有 3种状态transient、persistent、detached
下边是常见翻译办法:
transient:瞬态或者自由态
( DeptPo(1,”行政部”,20,”行政相关”)该po例子和session没有关联该po例子处于transient)
persistent:持久化状态
(和数据库中记录想影射Po例子它状态是persistent, 通过get和load等得到对象都是persistent)
detached:脱管状态或者游离态
(1)当通过get或load思路方法得到po对象它们都处于persistent,但如果执行delete(po)时(但不能执行事务),该po状态就处于detached, (表示和session脱离关联),因delete而变成游离态可以通过save或saveOrUpdate变成持久态
(2)当把session关闭时session缓存Cache中persistentpo对象也变成detached
因关闭session而变成游离态可以通过lock、save、update变成持久态
持久态例子可以通过 delete变成脱管状态
通过get或load思路方法得到例子都是持久化状态
脱管状态例子可以通过lock或者replicate进行持久化
save和persist将会引发SQLINSERTdelete会引发SQLDELETE
而update或merge会引发SQL UPDATE对持久化(persistent)例子修改在刷新提交时候会被检测到它也会引起SQL UPDATE
saveOrUpdate或者replicate会引发SQLINSERT或者UPDATE
="xspace-totlerecord">3="xspace-totlepages">1/3="xspace-current">123>
最新评论