`
159zone
  • 浏览: 3614 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernte和对象相关的几个方法

阅读更多

save(),update(),saveOrUpdate():
save的作用是把一个新的对象保存,update的作用是把一个游离的对象保存(例:第一个session加载对象后,对象被传递到表现层,对象发生了一些改动后,又被传回到业务逻辑层,程序会调用第二个session的update方法来对这些改动进行持久化),而saveOrUpdate基本上合成了save和update;

save()和persist():

通过Javadoc可以看到,save方法返回类型为Serializable,而persist方法返回类型为void。也就是说save方法返回的是这个对象持久化后的标识符,java reference指出,不论是在事务外部还是在事务内部都是返回的;而persist方法不保证返回标识符,有可能会等到flush方法被调用时,java reference指出,在一个事务外部调用persist方法时,不一定执行sql insert语句,这样的话,对于提高性能比较重要,可以用来封装一个长的会话流程。

update()和lock():
对游离的对象做出了一些修改操作后,然后可以通过调用update这个方法对对象进行持久化;
lock方法将游离的对象进行持久化,然后可以对持久化对象进行一些操作,在调用flush方法使修改生效。

update()和merge()

update方法前面已经介绍,是将一个游离的对象持久化,返回类型为void类型;而merge方法的返回类型为Object(持久化的对象),merge方法操作的方式是将给定游离的对象的状态拷贝到具有相同标识符的持久化对象(如果Session没有相应的持久化实例,则尝试从数据库中加载,或创建新的持久化实例),但是用户给出的对象没有关联到session上,它依旧是托管的。

分享到:
评论

相关推荐

    hibernate中的对象关系模型

    以下是对hibernate中几种对象关系模型的详细解释: 1. **依赖**: 在Java中,依赖关系可以通过类的实例方法参数来体现,如示例中的`Person`类的`life`方法接受`Sun`对象作为参数。这种关系表明一个类的方法或行为...

    精通Hibernate:Java对象持久化详解.zip

    《精通Hibernate:Java对象持久化详解》是一本深入解析Hibernate技术的专著,它主要针对Java开发者,旨在帮助他们理解和掌握Java对象持久化的精髓。Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了...

    利用 hibernate对象持久化服务简化数据库访问

    在这种情况下,使用 Hibernate 可以带来以下几个优势: 1. **代码简化**:由于 Hibernate 自动处理了对象与数据库之间的映射,开发人员可以将更多的精力放在业务逻辑的实现上。 2. **易于维护**:由于大部分数据库...

    hibernate和spring的几个小例子

    本篇文章将深入探讨这两个框架,并通过几个实际的小例子来帮助理解它们的使用方式。 首先,Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在传统的Java应用中,开发者需要编写大量...

    Hibernate映射导致的几个异常

    如果在保存一个对象时,该对象引用了一个未保存的瞬态对象,Hibernate会尝试同时保存这两个对象,但在这个过程中,若主对象保存成功而从属对象失败,则会引发此异常。解决方案是在保存主对象之前,先确保所有从属...

    Hibernate操作数据库的方法

    Hibernate操作数据库时,主要通过以下几个核心组件来实现持久层操作: 1. **Session**:Session是Hibernate用来和数据库进行交互的一个轻量级对象,它相当于JDBC中的Connection。Session对象是应用程序与数据库进行...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    本章还将介绍通过Hibernate API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联...

    Hibernate方法的实现

    在使用Hibernate前,我们需要配置Hibernate的环境,这通常涉及到以下几个步骤: - 引入Hibernate的jar包。 - 创建hibernate.cfg.xml配置文件,设置数据库连接信息(如URL、用户名、密码等)以及持久化类信息。 -...

    Hibernate简单例子几个

    在 "Hibernate简单例子几个" 的描述中提到了 "many-to-one",这是 Hibernate 中的一种关联映射类型,表示多对一的关系。比如,一个部门可以有多名员工,而每个员工只属于一个部门。在实体类中,我们可以使用 `@...

    hibernate中的几个重要方法以及调用[参照].pdf

    本文将深入探讨Hibernate中的一些重要方法及其调用,包括get()、load()、list()、iterator()以及HQL查询的相关知识点。 1. get()与load()方法: - get()方法:当尝试获取一个对象时,get()首先会在一级缓存中查找...

    hibernate相关jar包

    在你提供的"hibernate相关jar包"中,包含以下几个关键的库文件: 1. **hibernate3.jar**:这是Hibernate的核心库,包含了Hibernate的所有主要组件,如实体管理器、会话工厂、查询API等。这个JAR文件使得开发者能够...

    Hibernate常用的jar包和两个配置文件

    在Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库事务。本篇文章将深入探讨Hibernate框架中常用的jar包以及两个核心...

    用Hibernate对象持久化服务简化Java数据库访问.pdf

    ### 使用Hibernate对象持久化服务简化Java数据库访问 #### 摘要 Hibernate作为一个高效且功能丰富的对象关系映射(ORM)框架,在Java开发领域扮演着举足轻重的角色。通过强大的映射机制,Hibernate能够将Java对象...

    Hibernate完整使用教程

    Hibernate 的原理可以概括为以下几个步骤: * 对象模型的定义 * 对象关系映射的定义 * SQL 语句的生成 * 数据库交互的处理 Hibernate 创始人 Hibernate 的创始人是 Gavin King,他是一名澳大利亚的软件开发者。...

    Hibernate连表查询 Hibernate连表查询

    下面将详细介绍与标题、描述及部分代码相关的几个核心知识点: ### Hibernate 连表查询基础 Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发人员将Java对象模型映射到数据库表,并在对象和数据库之间...

    精通Hibernate:对象持久化技术第二版part3

    本章还将介绍通过Hibernate API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联...

    Hibernate知识点总结

    在Hibernate中,对象持久化的具体含义包括以下几个方面: - **保存**:将对象状态存储到数据库中。 - **更新**:更新数据库中对象的状态。 - **删除**:从数据库中移除对象。 - **查询**:根据某些条件从数据库中...

    Hibernate\hibernate3.2官方中文参考手册PDF

    9. **实体生命周期**:Hibernate定义了几个关键的实体状态,如瞬时态、持久态、脱管态和临时态,理解这些状态对于理解对象的管理至关重要。 10. **实体的级联操作**:级联操作允许在一个操作中处理关联的对象,例如...

Global site tag (gtag.js) - Google Analytics