`

Hibernate 学习笔记(二)——关系映射

 
阅读更多

一、涉及的两张表。

1、员工表(序号、员工编号、姓名、密码、部门)              

                                 tbl_employee(nativeId,employeeId,employeeName,password,department)

2、部门表(序号、部门编号、部门名、部门信息、部门成员)

                              tbl_department(nativeId,departmentId,departmentName,departmentinfo,employeeList)

 

注:序号标识唯一性,这里采用native生成方式。

 

二、基本类。

1、Employee.java

 

public class Employee {
 
 private int nativeId;
 private String employeeId;
 private String employeeName;
 private String password;
 private Department department;

   getters and setters...

}

 

2、Department.java

 

public class Department {

 private int nativeId;
 private String departmentId;
 private String departmentName;
 private String departmentinfo;
 private Set<Employee>employeeList;

     getters and setters...

}

 注:private Set<Employee>employeeList;采用了Set 而非ArrayList。

 

三、Hibernate的映射配置(*.hbm.xml)。 

为看得清楚,将其配置文件分开。

1、Employee.hbm.xml

 

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="wuyechun.studymvc.model">
 <class name="Employee" table="tbl_employee">
         <id name="nativeId">
                <generator class="native"></generator>
       </id>
       <property name="employeeId"></property>
       <property name="employeeName"></property>
       <property name="password"></property>
       <many-to-one name="department" column="departmentId" cascade="save-update"></many-to-one>
  </class>
</hibernate-mapping>

 

 2、Department.hbm.xml

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="wuyechun.studymvc.model">
 <class name="Department" table="tbl_department">
          <id name="nativeId">
                <generator class="native"></generator>
         </id>
         <property name="departmentId"></property>
         <property name="departmentName"></property>
         <property name="departmentinfo"></property>
        <set name="employeeList" >
              <key column="departmentId"></key>
              <one-to-many class="Employee"/>
        </set>
  </class>
</hibernate-mapping>

 以上为基本类和数据库的映射文件,注意 many-to-one  和 one-to-many 的配置。如不指定column属性(数据库字段名),默认为class属性名和数据库字段名一样,也可另指定columu属性。

 

 

四、自动生成的表结构。

1、tbl_employee

 

2、tbl_department

 

注:只有tbl_employee表中含有 departmentId 字段标示两张表的映射关系。

 

ps:仅作记录,方便自己翻阅。如果对你有所帮助,不甚荣幸。

分享到:
评论

相关推荐

    hibernate学习笔记mashibing

    《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...

    hibernate框架开发2016版视频 四天学习笔记完整版

    首先,我们需要理解Hibernate的核心概念——对象关系映射(ORM)。ORM是将数据库中的表映射到Java类的过程,使得开发者可以通过处理Java对象的方式来操作数据库,无需编写大量的SQL语句。Hibernate通过XML配置文件或...

    hibernate 学习笔记4

    ### Hibernate 学习笔记4 —— 多对多关系与多态映射 #### 多对多关系 在 Hibernate 中处理多对多关系时,通常采用一种称为“连接表”或“关联表”的方法来实现两个实体之间的多对多关联。这种设计方式较为常见且...

    2023年Java相关课程系列笔记之十四Hibernate学习笔记.doc

    在本篇“2023年Java相关课程系列笔记之十四Hibernate学习笔记”中,我们将深入探讨Java开发中常用的持久化框架——Hibernate。这个框架由梁建全老师主讲,旨在帮助开发者更高效、便捷地进行数据库操作,弥补JDBC在...

    Hibernate学习笔记(一)代码

    在本篇【Hibernate学习笔记(一)】中,我们将探讨Java开发中的持久化框架——Hibernate。Hibernate是一个强大的ORM(对象关系映射)工具,它允许开发者以面向对象的方式来操作数据库,极大地简化了Java与数据库之间...

    Java EE 相关资料(Struts中文手册、Struts API、Hibernate 学习笔记、Hibernate API文档)

    "Hibernate学习笔记.rar"可能包含关于Hibernate的基本概念、配置、实体类的创建、映射文件的编写、CRUD操作、查询语言HQL和Criteria API的使用等内容,这些都是理解和掌握Hibernate的关键。 "Hibernate3.2官方中文...

    hibernate学习笔记

    ### Hibernate学习笔记:对象/关系数据库映射(二)——集合映射 #### 1. 集合映射概述 在对象/关系映射(ORM)领域中,Hibernate 是一个非常强大的工具,它能够帮助开发者高效地进行 Java 对象与数据库记录之间的...

    Hibernate学习笔记

    **Hibernate学习笔记** Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在数据库中存储和检索对象的便捷方式。通过使用Hibernate,开发人员可以避免直接编写SQL语句,而是通过面向对象的...

    MLDN学习笔记 —— Annotation

    《MLDN学习笔记——Annotation》这篇博文主要探讨的是在编程领域中,特别是Java语言中,关于Annotation(注解)的深入理解和应用。Annotation是Java语言提供的一种元数据,它为程序提供了额外的信息,这些信息可以被...

    Hibernate学习笔记(3)

    Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了Java开发者与数据库交互的过程。本文将深入探讨Hibernate中两种常用的查询语言——HQL(Hibernate Query Language)与QBC(Query By Criteria),并...

    JAVA 私塾笔记整理——反射机制(Reflection)

    - 数据库操作:ORM框架如Hibernate通过反射将数据库记录映射为Java对象。 8. **反射的优缺点** - 优点:提高代码的灵活性,可以在运行时动态地调整程序行为,实现动态加载和动态调用。 - 缺点:性能开销较大,...

    Hibernate5.0-4天学习笔记.rar

    Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以专注于业务逻辑,而无需过多关注底层SQL的编写。在JavaEE49期黑马程序员的课程中,通过四天的深入学习,我们...

    SSH学习笔记3 SSH学习笔记3

    SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...

    黑马程序员 hibernate 2016版讲义和笔记(4天全)

    《Hibernate技术深度剖析——基于黑马程序员2016版讲义与笔记》 Hibernate,作为Java领域中的一个著名持久化框架,为开发者提供了强大的对象关系映射(ORM)功能,极大地简化了数据库操作。本资料集是黑马程序员...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...

    hibernate培训第二天

    【hibernate培训第二天】——深入理解Hibernate框架 在软件开发中,ORM(Object-Relational Mapping)框架已经成为连接数据库与应用程序的重要桥梁,而Hibernate作为Java领域中的主流ORM框架,其强大而灵活的功能...

Global site tag (gtag.js) - Google Analytics