首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

hibernate merge跟saveorupdate、persist和save

2012-09-03 
hibernate merge和saveorupdate、persist和save??? 一直很纳闷这个merge和persist方法,平时也很少用。今天研

hibernate merge和saveorupdate、persist和save

??? 一直很纳闷这个merge和persist方法,平时也很少用。今天研究下总结下

??? 一、merge? 翻译:合并;融合

?

????????? 其实merge方法很简单,看代码。

?????????

Hibernate:     select        father0_.id as id1_0_,        father0_.name as name1_0_     from        Father father0_     where        father0_.id=?Hibernate:     insert     into        Father        (name)     values        (?)7

??注意看最后的一个7,这是我们之前set的id,但是数据库的记录下对应的id是1;也就是说father对象经过merge方法后没有任何的变化,一直是一个transient状态。所以要注意,一个对象经过merge后它和数据库不一定一致。

? 现在我们来看看saveorupdate方法,这个方法也很简单,它会根据对象的id是否为空来决定进行inset或者update,

为空就inset,不为空就update,任何情况下都不会执行select语句,所以在update一个数据库不存在的id时会有Exception。

?

二、未完待续- - !

热点排行