锁定老帖子 主题:Hibernte和对象相关的几个方法
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-18
save(),update(),saveOrUpdate(): save()和persist(): 通过Javadoc可以看到,save方法返回类型为Serializable,而persist方法返回类型为void。也就是说save方法返回的是这个对象持久化后的标识符,java reference指出,不论是在事务外部还是在事务内部都是返回的;而persist方法不保证返回标识符,有可能会等到flush方法被调用时,java reference指出,在一个事务外部调用persist方法时,不一定执行sql insert语句,这样的话,对于提高性能比较重要,可以用来封装一个长的会话流程。 update()和lock(): update()和merge() update方法前面已经介绍,是将一个游离的对象持久化,返回类型为void类型;而merge方法的返回类型为Object(持久化的对象),merge方法操作的方式是将给定游离的对象的状态拷贝到具有相同标识符的持久化对象(如果Session没有相应的持久化实例,则尝试从数据库中加载,或创建新的持久化实例),但是用户给出的对象没有关联到session上,它依旧是托管的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1605 次