`
badmanisme
  • 浏览: 31944 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Hibernate的Session接口中delete/update方法2个参数(entityName)的深入解析

    博客分类:
  • java
阅读更多
Hibernate的session接口中,delete和update分别有两个重载方法,不同的是参数多了一个String ;
        一般情况下,更新和删除只要传一个Object对象就可以了,那另一个方法中的String是干什么用的呢?
1.    String arg0表示的是个EntityName的含义---就是我们说的表名的映射Class名称;
2.    一般情况下,我们根据Object这个PoJo就可以知道这个对象对应的Class名称,同时就可以知道该Class在数据库的表名,所有,没有必要添加EntityName属性;
比如:Customer cus=new Customer();
我们根据cus这个Object就知道了它是Customer这个类,就知道它的表名是T_CUSTOMER了,hibernate就可以生成对应的SQL语句啦!
3. 在不使用PoJo类和O/R Mapping的情况下,EntityName是必填的,因为没有了ORM关系,根据Object无法找到它对应的Class名称,更不用说数据库表名称了。
        这时候有人就问,什么情况下不使用PoJo和O/R Mapping呢?
        好像现在hibernate真没有不采用此方法的-------但是,不采用PoJo和O/R Mapping,而采用动态模型(Dynamic models)和 XML映射将是hibernate未来的研究方向,因此,这个参数被提前保留了。
像get load save saveOrUpdate merge persist等等都提供了带entityName参数的方法啦。

转载 : http://blog.csdn.net/zws1987211/article/details/6604917
分享到:
评论

相关推荐

    hibernate session详细方法,值得珍藏

    本文将深入探讨Hibernate Session的详细方法及其应用场景,旨在为开发者提供一份全面、实用的指南。 #### 一、Session 的生命周期与事务管理 Hibernate Session的生命周期通常包括打开、使用和关闭三个阶段。在...

    Hibernate生产SQL语句

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...

    hibernate封装.pdf

    8. **可序列化接口(Serializable)**:`Serializable`接口在`get`方法中作为参数出现,表示主键`id`需要是可序列化的,这是Hibernate中常见的做法,因为主键可能会被传递到其他地方,例如在网络传输中。 以上就是`...

    Hibernate API

    11. `delete()` 和 `delete(String entityName, Object object)`:这两个方法用于删除持久化对象,`delete()`是基于对象实例,而`delete(String entityName, Object object)`则是基于实体名称和对象。 12. `...

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

    在Java的持久化框架Hibernate中,操作数据库主要通过Session接口来实现,包括增删改查(CRUD)等基本操作。下面将详细讲解如何使用Hibernate进行这些操作。 1. **增加(Insert)** - Hibernate提供了`save()`方法...

    HibernateHQL.zip_更新

    在Hibernate中,插入数据通常通过Session对象的save()或saveOrUpdate()方法完成。然而,HQL也支持插入操作,它允许我们以面向对象的方式编写插入语句。例如: ```java session.createQuery("insert into EntityName...

    hibernate3.2.5

    本文将深入探讨Hibernate 3.2.5版本中如何解决这一问题。 一、理解Hibernate与HQL Hibernate的核心功能在于提供对象化的数据库操作,它将数据库表映射为Java类,数据行映射为对象实例。而HQL是Hibernate提供的面向...

    hibernate api

    在这个文档中,我们将深入探讨Hibernate API的关键组件和它们在实际开发中的应用。 1. **实体管理器(EntityManager)** - EntityManager是Hibernate的核心接口,它负责管理应用程序的持久化对象。它提供了添加、...

    hibernate+springmvc整合代码

    在IT行业中,尤其是在Web开发领域,`Hibernate`和`Spring MVC`是两个非常重要的框架。`Hibernate`是一个对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。而`Spring MVC`...

    Hibernate二级缓存技术

    ### Hibernate二级缓存技术详解 #### 一、概述 Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用与关系型数据库之间的交互。为了提高性能和减少数据库的访问频率,Hibernate 提供了一级缓存和二...

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

    本文将深入探讨如何使用Hibernate进行数据表中的部分字段查询,这在实际开发中是非常常见的需求。 首先,理解Hibernate的核心概念:实体(Entity)、持久化类(Persistent Class)和映射文件(Mapping File)。实体...

    Hibernate程序的配置文件

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

    hibernate实现数据通用分页

    在服务器端,我们需要解析请求中的`pageNum`参数,根据这个参数调整查询的起始位置,然后返回相应的数据。例如,一个简单的Servlet示例: ```java protected void doGet(HttpServletRequest request, ...

    hibernate说明文档

    - **EntityName解析器**:自定义实体名称解析规则的方法。 - **映射定义**:深入探讨了映射文件中的各项配置选项。 - **实体**:定义一个Java类作为数据库表的映射。 - **标识符**:配置实体的主键生成策略。 -...

    hibernate_reference_3.5.pdf

    - **EntityName 解析器**:探讨了如何自定义 Hibernate 在处理实体名称时的行为。 文档的这一部分覆盖了 Hibernate 3.5 的多个方面,包括基础入门、架构设计、配置方法以及如何实现高效的持久化操作。对于初学者来...

    hibernate一对多例子

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

    hibernate分页(Eclipse项目)

    通过这个Eclipse项目,你可以深入了解Hibernate的分页实现,学习如何在实际开发中应用这些技术,从而提升项目性能和用户体验。同时,这也是一个很好的实践平台,帮助巩固和提升Java和Hibernate的技能。

    J2EE Hibernate 分页

    在J2EE应用程序开发中,Hibernate是一个非常流行的Object-Relational Mapping (ORM)框架,它允许开发者用Java对象来操作数据库,从而简化了数据库交互。本篇将详细讲解如何在Hibernate中实现分页功能,特别是在MySQL...

    Java_EE_SSH三大框架知识点

    - 在`hibernate.cfg.xml`中增加映射文件路径,如`<mapping resource="com/aptech/jb/entity/EntityName.hbm.xml"/>`。 **4. 使用Hibernate的7个基本步骤** - 配置Hibernate - 创建Session工厂 - 打开Session -...

Global site tag (gtag.js) - Google Analytics