第九章 关系映射 .hbm.xml简单写法与解释

<?xml version="1.0" encoding="utf-8"?>
<!-- 上面是xml文件的版本与编码 -->
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
   hibernate映射文件的头文件以及dtd格式文件
-->

<hibernate-mapping>
    <!-- class name实体类 table数据库中的表 catalog数据库的名字 -->
    <class name="cn.framelife.hibernate.entity.IdCard" table="id_card" catalog="hibernate">
         <!-- id标签指的是主键 name类里面的的id type是这个id的类型   column表中的字段   generator主键生成策略-->
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="foreign">
            	<param name="property">person</param>
            </generator>
        </id>

        <!-- property标签   除了id、对象与集合之外的其它属性(表中的字段) name类里面的的属性名 type是这个属性的类型   column表中的字段 -->
        <property name="cardNo" type="java.lang.String">
            <column name="card_no" length="45" not-null="true" />
        </property>
        <!-- 对象与集合等使用关系映射标签 -->
        <one-to-one name="person" constrained="true" class="cn.framelife.hibernate.entity.Person"></one-to-one>
    </class>
</hibernate-mapping> 
时间: 2024-12-25 10:10:33

第九章 关系映射 .hbm.xml简单写法与解释的相关文章

第九章 关系映射 一对一关系 唯一外键方式实现一对一

如:person与idCard 基于外键的one-to-one可以描述为多对一.   hibernate 一对一唯一外键关联映射(双向关联 Person<---->IdCard )           一对一唯一外键 双向 关联,需要在另一端(person ),添加 <one-to-one> 标签,指示 hibernate 如何加载 其关联对象,默认根据主键加载idcard ,外键关联映射中,因为两个实体采用的是 idcard 的外键维护的关系, 所以不能指定主键加载 idcard

第九章 关系映射 一对多关联映射

如:department与employee employee中有一个department_id的外键 Department: public class Department implements Serializable { private Integer id; private String name; private Set<Employee> employees; public Set<Employee> getEmployees() { return employees;

第九章 关系映射 组件关联映射

组件是针对同一张表中的字段进行映射,作用是将字段多的一张表分成多个实体类来表示. 如:name与user user表中有first_name及last_name.在实体类中,自定义一个Name类来表示first_name与last_name; Name实体类: package cn.framelife.mvc.entity; public class Name { private String firstName; private String lastName; public String g

第九章 关系映射 多对多关联映射

表设计: 有一张中间表,中间表中有两张关联表的外键 如:student与teacher Student: package cn.framelife.mvc.entity; import java.util.Set; public class Student { private Integer id; private String name; private Set<Teacher> teachers; public Integer getId() { return id; } public v

第九章 关系映射 多对一关联映射

如:department与employee employee中有一个department_id的外键 Department: public class Department implements Serializable { private Integer id; private String name; public Department() { } public Integer getId() { return id; } public void setId(Integer id) { th

第九章 关系映射 继承关联映射

1.discriminator鉴别器 同一张表中表示不同的类型 在employee表中定义一个type字段,表示员工的类型 name是所有的员工都有的属性. sale_count是销售员特有的属性. 而skiller是技术人员特有的属性. 三个实体类: Employee: package cn.framelife.mvc.entity; import java.io.Serializable; public class Employee implements Serializable { pri

第九章 关系映射 集合关联映射

基本上所有集合关联映射都是在一对多,多对多操作的时候使用. 1.set 我们之前在做一对多操作的时候,多的一方就是一个set. 一对多的例子:http://blog.csdn.net/p_3er/article/details/9036921 实体类中: private Set<Employee> employees; 对应的映射文件: <set name="employees" inverse="false" cascade="all&

第九章 关系映射 说明

这里的关系是指:对象之间的关系,并不是指数据库的关系,-----红色重要        存在以下关系: 1.    一对一 2.    一对多 3.    多对一 4.    多对多 5.    集合映射 u  List u  Set u  Map 6.    继承关系(不重要) 7.     组件映射

ORM对象关系映射已成为炙手可热的技术

简单映射,是对象关系映射中最为简单的一种,也是最为基础的一种,学好简单映射是掌握继承映射,关联关系映射的前提所在. 近年来 ORM(Object-Relational Mapping,对象关系映射,即实体对象和数据库表的映射)技术市场热闹非凡,各种各样的持久化框架应运而生,其中影响最大的是 Hibernate 和 Toplink.Sun 公司在充分吸收现有的优秀 ORM 尤其是 Hibernate 框架http://www.aliyun.com/zixun/aggregation/8511.ht