`
micc010
  • 浏览: 71587 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

hibernate中的update等方法为何除了object外还有一个entityName参数

    博客分类:
  • java
阅读更多
hibernate 3中的update方法有个重载
update(Object obje);
update(String s,Object obj);


正常情况下,update方法只用一个参数的就可以了。
但是有2个参数的版本也是有意义的。它的完整声明是这样的。
public void update(String entityName, Object object) throws HibernateException;
hibernate在探索不使用pojo类或javabean进行O/R Mapping,可选的方式有 动态模型(Dynamic models),和 XML映射。两种方式都可以不写持久化类的。前者使用Map套Map来表示数据,后者使用解析过的XML树。
<hibernate-mapping>的 <class>节点有个可选属性是entity-name,默认是类名。普通的用pojo类映射时,它是没什么用的。但是在上述两种情况下,就要使用它了(配置文件的其他区别不赘述)。在你持久化操作这样的映射时,所使用的Session的EntityMode不能再是默认的POJO,而是MAP或XML。调用Session的持久化方法也必须指定entityName,因为你要持久化的对象已经不能以自身的信息(object.getClass())来表示映射的对象。你可以发现不只是update,其他一系列的方法,像get load save saveOrUpdate merge persist等等都提供了带entityName的版本。
分享到:
评论

相关推荐

    hibernate封装.pdf

    在提供的代码片段中,我们可以看到一个`HibernateDao`类,它是对Hibernate的一些基本操作进行了封装,包括获取、删除等方法。下面将详细解释这些知识点。 1. **SessionFactory**: `SessionFactory`是Hibernate的...

    hibernate session详细方法,值得珍藏

    在事务管理方面,Session提供了`beginTransaction()`方法来开启一个事务,这标志着一个数据库操作单元的开始。在事务中执行的数据库操作,如`save()`, `update()`, `delete()`等,都会被事务隔离,并在事务提交(`...

    Hibernate API

    Hibernate API 是一个强大的Java持久化框架,用于简化数据库操作,它是ORM(对象关系映射)解决方案的一部分,使得开发者可以通过对象模型来操作数据库,而无需直接编写SQL语句。以下是Hibernate API的一些关键方法...

    Hibernate_query查询数据表中部分字段.

    在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨如何使用Hibernate进行数据表中的部分字段查询,这在实际开发中是非常常见的需求。 ...

    hibernate说明文档

    - **概念**:Hibernate是一个开源的对象关系映射(Object-Relational Mapping,简称ORM)框架,用于简化Java应用中的数据库操作。它通过提供一套高级API,允许开发者以面向对象的方式进行数据库交互,而无需直接编写...

    Hibernate生产SQL语句

    1. **实体类(Entity)与表映射**:Hibernate通过`@Entity`注解定义一个Java类为数据库中的表,`@Table`注解指定对应的表名。实体类的属性对应表中的列,`@Column`注解用于定义列名。 2. **属性映射(Field Mapping...

    hibernate3.2.5

    然而,在使用过程中,开发者可能会遇到一个问题——“Update queries only supported through HQL”。这个错误提示表明,尝试执行的SQL更新操作不被Hibernate支持,需要通过Hibernate查询语言(HQL)来完成。本文将...

    Hibernate程序的配置文件

    在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层的SQL语句。本知识点主要聚焦于Hibernate的配置文件,它是使用Hibernate进行数据库交互的基础...

    (4)Hibernate中的many-to-one和one-to-many关系

    例如,在一个学生和班级的关系中,一个班级可以有多个学生,但一个学生只能属于一个班级。在Hibernate中,我们通过`@ManyToOne`注解来定义这种关系。此注解通常用在引用表的外键字段上,并可以通过`fetch`属性控制...

    Hibernate_query聚合函数查询.

    例如,如果你想要查询一个表中所有记录的总数,可以使用`COUNT`函数: ```java Query query = session.createQuery("SELECT COUNT(*) FROM EntityName"); Long totalCount = (Long) query.uniqueResult(); ``` ...

    HibernateHQL.zip_更新

    Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了对数据库操作的强大抽象层。HQL(Hibernate Query Language)是Hibernate提供的一种面向对象的查询语言,类似于SQL,但它是以类和对象为中心而...

    hibernate注解说明

    1. **@Entity**: 这个注解用于标记一个类为 Hibernate 实体,表示该类的对象将映射到数据库的一个表。`@Entity(name="EntityName")` 允许指定实体在数据库中的表名,如果不指定,默认使用类名。 2. **@Table**: 此...

    hibernate api

    Hibernate 是一个强大的开源对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过提供一套高级API,Hibernate使得开发人员能够更专注于业务逻辑,而不是繁琐的SQL操作。在这个文档中,我们将深入...

    hibernate映射的注解配置

    1. **@Entity(name="EntityName")**:此注解用于标记一个类作为JPA实体,它代表数据库中的一个表。`name`参数是可选的,用于指定实体在数据库中的表名,当实体名与表名不一致时使用。 2. **@Table(name="", catalog...

    操作Hibernate类:增加,删除,修改及查询.pdf

    在示例代码中,`insert()`方法首先开启一个事务`Transaction`,然后调用`session.save(person)`将`Person`对象保存到数据库,最后提交事务并关闭Session。这一步骤确保了数据的完整性和一致性。 2. **修改(Update...

    hibernate分页(Eclipse项目)

    在Eclipse中,创建一个Java项目,导入Hibernate相关库,包括hibernate-core、hibernate-entitymanager、mysql-connector-java等。配置Hibernate的hibernate.cfg.xml文件,包括数据库连接信息、方言设置等。 ...

    hibernate_reference_3.5.pdf

    - **第一个类**:通过创建一个简单的 Java 类来展示 Hibernate 如何与这个类进行交互。 - **映射文件**:详细解释了 Hibernate 映射文件(如 .hbm.xml 文件)的作用及如何配置。 - **Hibernate 配置**:展示了...

    hibernate+springmvc整合代码

    `Hibernate`是一个对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。而`Spring MVC`是`Spring`框架的一个模块,主要负责Web应用程序的模型、视图和控制器的职责划分。将...

    hibernate一对多例子

    在数据库设计中,一对多(One-to-Many)是一种常见的关联方式,指的是一个表中的记录可以与另一个表中的多个记录建立联系。例如,在学生与书籍的关系中,一个学生可以拥有多本书籍,但每本书籍只能属于一个学生。...

Global site tag (gtag.js) - Google Analytics