首页 > 代码库 > Hibernate -- xxx.hbm.xml ORM元数据 表对象关系映射文件

Hibernate -- xxx.hbm.xml ORM元数据 表对象关系映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <!-- ORM元数据  表对象关系映射文件 
        package : 配置该配置文件中类所在的包.  -->
 <hibernate-mapping package="com.itheima.a_hello" >
 
 
     <!-- class-- 配置实体与表的关系
         name : 填写实体的完整类名
         table: 与实体对应表的名称
         dynamic-insert:动态插入 默认值是false
                         true=>如果字段值为null,不参与insert语句
          dynamic-update:动态更新  默认值"false"
                          true=> 没改动过的属性,将不会生成到update语句中
      -->
     <class name="User" table="t_user"  >

<!-- id-- 配置实体与表中 id对应 name: user对象中标识主键的属性名称 column: 主键在表中的列名 length: 列的数据长度 unsaved-value(不常用): 指定主键为什么值时,当做null来处理. access(强烈推荐不要用):field 那么在操作属性时,会直接操作对应的字段而不是get/set方法 --> <id name="id" column="id" length="255" >


<!-- generator -- 主键生成策略 1.increment 数据库自己生成主键. 先从数据库中查询最大的ID值,将ID值加1作为新的主键 2.identity 依赖于数据的主键自增功能 3.sequence 序列,依赖于数据中的序列功能(Oracle). 4.hilo(纯了解,永远用不到) : Hibernate自己实现序列的算法,自己生成主键. (hilo算法 ) 5.native 自动根据数据库判断,三选一. identity|sequence|hilo 6.uuid 生成32位的不重复随机字符串当做主键 7.assigned 自己指定主键值. 表的主键是自然主键时使用. --> <generator class="uuid"></generator> </id>

<!-- property -- 实体中属性与表中列的对应 name : 实体中属性名称 column : 表中列的名称 length : 数据长度 precision: 小数点后的精度 scale: 有效位数 insert(一般不用): 该属性是否加入insert语句. update(一般不用): 该属性是否加入update语句. not-null : 指定属性的约束是否使用 非空 unique : 指定属性的约束是否使用 唯一 --> <!-- type: 表达该属性的类型 可以用三种方式指定属性 java类型 数据库类型指定 Hibernate类型指定 java.lang.String varchar string --> <property name="name" column="name" update="true" type="string" ></property> <property name="password" column="password"></property> <property name="sal" column="sal" precision="2" scale="3" ></property> </class> </hibernate-mapping>

 

Hibernate -- xxx.hbm.xml ORM元数据 表对象关系映射文件