`
liufei.fir
  • 浏览: 686364 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

描述Hibernate映射文件

阅读更多
在向大家详细介绍Hibernate之前,首先让大家了解下调用JPA的代码和调用Hibernate的代码,然后全面介绍Hibernate映射文件。

由于JPA是不需要配置的,代码里面已经包括了注释,所以下面附上Hibernate映射文件,为了使数据库里面更清楚一些,所以两者使用的表不是同一张表,JPA的表是带JPA前缀的,用@Table这个注释声明了这一点。

   1. <?xml version="1.0" encoding="UTF-8"?>
   2. 
   3. <!DOCTYPE hibernate-mapping PUBLIC 
   4. "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
   5. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
   6. <hibernate-mapping package="com.hadeslee.jpaentity">
   7. <class name="Department" table="Department">
   8. <id name="id" column="departId" type="long">
   9. <generator class="native"/>
  10. </id>
  11. <property name="deptName"/>
  12. <property name="description"/>
  13. <set name="persons">
  14. <key column="deptId"/>
  15. <one-to-many class="Person"/>
  16. </set>
  17. </class>
  18. <class name="Person" table="Person">
  19. <id name="id" column="personId" type="long">
  20. <generator class="native"/>
  21. </id>
  22. <property name="name"/>
  23. <property name="age"/>
  24. <many-to-one name="department" column="deptId" class="Department"/>
  25.  </class>
  26. </hibernate-mapping>

调用JPA的代码如下:

   1. EntityManagerFactory emf = Persistence.createEntityManagerFactory("TestSSH1PU2"); 
   2. EntityManager em = emf.createEntityManager(); 
   3. em.getTransaction().begin(); 
   4. com.hadeslee.jpaentity.Person p = new com.hadeslee.jpaentity.Person(); 
   5. p.setAge(26); 
   6. p.setName("千里冰封"); 
   7. 
   8. com.hadeslee.jpaentity.Department dept = em.find
      (com.hadeslee.jpaentity.Department.class, Long.valueOf("3")); 
   9. System.out.println("找到的dept=" + dept); 
  10. em.remove(dept); 
  11. em.getTransaction().commit();

调用Hibernate的代码如下:

   1. Session session = HibernateUtil.getSessionFactory().getCurrentSession(); 
   2. session.getTransaction().begin(); 
   3. Department dept = (Department) session.load(Department.class, 2); 
   4. session.delete(dept); 
   5. session.getTransaction().commit();

最后发现是JPA是不能删除的,而Hibernate这边的调用可以删除,一开始我还以为是toplink的实现问题,后来特意把实现改成 Hibernate的实现,也同样。所以有可能是JPA的要求必须得这样做,不能替我们自动完成一些东西,是利于安全。这可能就是标准和流行的差别吧。以上介绍Hibernate映射文件。
分享到:
评论

相关推荐

    Hibernate 映射文件自动生成

    【压缩包子文件的文件名称列表】:“hibernate映射文件自动生成.doc”很可能是这篇博文的文档形式,其中详细介绍了具体的操作步骤、使用工具或者自定义脚本,以帮助开发者理解并应用自动化的映射文件生成过程。...

    java根据实体类生成Hibernate映射文件

    首先,我们需要了解Hibernate映射文件的基本结构。通常,一个映射文件以`.hbm.xml`为扩展名,它使用XML格式来描述Java类和数据库表的对应关系。映射文件包含了类名、表名、字段及其数据类型等信息。例如: ```xml ...

    Hibernate映射笔记

    #### Hibernate映射文件与配置关系 Hibernate映射是ORM(对象关系映射)框架中的一项关键技术,它允许开发者在数据库表和Java对象之间建立映射关系,从而简化了数据访问层的开发工作。映射文件通常是`.hbm.xml`格式...

    用MyEclipse自动生成hibernate映射文件和实体类

    接下来,我们讨论如何自动生成Hibernate映射文件和实体类: 1. 首先,你需要选择你的Java项目,然后右击并选择MyEclipse菜单,接着选择“Add Hibernate Capabilities”。这个操作会引导你配置Hibernate的相关设置,...

    用Hibernate自带的工具生成映射文件

    描述中的博文链接指向了一个名为“yefeishan”的作者在ITEYE博客上的文章,虽然具体内容无法在这里详述,但通常这类文章会详细介绍如何配置和使用Hibernate Tools,包括安装、设置IDE集成、配置Hibernate工具、运行...

    hibernate的映射文件配置

    描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### Hibernate映射文件配置详解 在...

    Hibernate映射文件[文].pdf

    在 Hibernate 中,映射文件是用来描述对象与数据库表之间的对应关系的 XML 文件。这些映射文件是 Hibernate 实现 ORM(对象关系映射)的核心组成部分。下面我们将详细探讨文档中提到的一对多、多对一、一对一以及多...

    Hibernate映射配置实例大全(详细总结)

    "Hibernate映射配置实例大全"是一个全面深入的资源,旨在帮助开发者理解和掌握如何有效地配置Hibernate以实现对象关系映射(ORM)。在这个文档中,我们将探讨各种关键的映射配置方法,以及相关的实例。 首先,我们...

    Hibernate使用xdoclet生成映射文件和sql语句

    XDoclet是基于Javadoc的元数据处理工具,它通过读取Java源代码中的特定注解,自动生成各种配置文件,包括Hibernate的.hbm.xml映射文件、EJB组件的部署描述符等。使用XDoclet,开发者无需手动创建和维护这些配置文件...

    XDoclet 与Hibernate 映射

    总结来说,XDoclet和Ant在Java开发中扮演着重要角色,前者简化了Hibernate映射文件的管理,后者则为项目构建和自动化提供了强大支持。通过合理的利用这两者,开发者可以提高工作效率,降低出错概率,使项目管理更加...

    hibernate映射

    - **映射文件(Mapping File)**:这是Hibernate的核心配置之一,用于描述实体类与数据库表之间的映射关系。映射文件通常采用XML格式,也可以使用注解(自Hibernate 3.0起支持)。映射文件中定义了实体类的主键策略...

    hibernate配置文件以及类映射文件常用写法1

    例如,`Cat.hbm.xml`映射文件会描述`Cat`类与数据库中某张表的关系。映射文件中会包含字段到列的映射,实体间关系的定义等。 1. **一对多关系**:在映射文件中,可以通过`set`、`list`或`map`标签来表示。例如,...

    Hibernate 映射数据库表插件

    【标题】:“Hibernate映射数据库表插件” 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。这个“Hibernate映射数据库表插件”是为了帮助开发者更方便地管理和...

    hibernate映射心得 原创

    2. **映射方式**:XML映射文件(hibernate.cfg.xml和.hbm.xml)和注解映射的使用,对比两者的特点和适用场景。 3. **实体类映射**:如何定义实体类,以及如何将类的属性与数据库字段对应,包括基本类型、复杂类型...

    myeclipse自动生成映射文件

    标题提到的"myeclipse自动生成映射文件",实际上是指使用MyEclipse的"MyEclipse Database Explorer"视图,结合Hibernate框架,快速生成与数据库表对应的Hibernate映射文件(hbm.xml)和实体类(POJO)。这个功能不仅...

    使用Hibernate逆向生成实体类的方法(注解和hbm.xml映射文件)

    - 对于通过hbm.xml生成的实体类,需要在hibernate.cfg.xml中添加相应的映射文件路径。 3. **测试连接**: - 运行测试程序,验证Hibernate是否能够正确读取映射信息并与数据库交互。 通过以上步骤,我们不仅能够...

    Hibernate配置文件中映射元素详解

    ### Hibernate映射文件基础结构 映射文件通常以`&lt;!DOCTYPE hibernate-mapping&gt;`开头,引用DTD(文档类型定义),确保文件遵循正确的格式。例如: ```xml &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/...

    javaee实验五 大学本科生 hibernate

    - **Hibernate映射文件(.hbm.xml)**:每个持久化类对应一个映射文件,描述类与数据库表之间的映射关系。 2. **实验内容**: - 首先,需要下载并安装MySQL数据库,创建名为`hibernatedb`的数据库,并在其中创建`...

    Hibernate映射关系配置:XML方式和注解方式

    标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...

    hibernate5.2版本配置和映射dtd文件

    映射文件描述了Java类与数据库表之间的映射关系,包括字段对应、主键设置、关联关系等。Hibernate 5.2的映射文件基于DTD,主要元素包括: 1. `&lt;hibernate-mapping&gt;`:根元素,定义映射文件的开始,通常会指定一个...

Global site tag (gtag.js) - Google Analytics