' 关系映射文件
    
    
      <hibernate-mapping> 0
    
  
     属性:
    
    default-scheam 指定默认的数据表命名
    
    package 指定包名
  
<class> 1
属性:
name设定类名
table 设定表名
     schema指定默认的数据表命名
    
     mutable 如果为false 等价于所有的property元素update属性为false 整个实例不会被更新
  
dynamic-insert 如果为true 等价于所有的property元素dynamic-update属性为true 保存对象时会动态生成updatet语句 包含所有不为null的值 默认false
dynamic-update 果为true 等价于所有的property元素dynamic-update属性为true 保存对象时会动态生成updatet语句 包含所有不为null的值 默认false
lazy 如果为true 表示使用延迟检索策略
子元素
<id> 2 子元素必须存在且只能存在一次<property>元素可以不存在,存在一次或者多次,必须先定义<id>元素再定义<property>元素 <id>用来设定持久化类的OID和表的主键映射
子元素
<generator> 3 子元素制定对象标识符生成器,他负责为OID生成唯一从标识符
子元素
<property> 2
属性
name 指定持久化类的属性的名字
type 指定Hibernate映射的类型 Hibernate映射类型是与SQL类型的桥梁
    
       not-null 如果为true表明不允许为空
      
       column 指定与类的属性映射的表的字段名
      
       access 指定Hibernate访问持久化类的属性方式
      
      property 默认值 通过get 和set方法
      
      field 表明Hibernate运用java反射机制直接访问类的属性
    
  
    
       insert 如果为false 在insert语句永远不插入该字段
      
      update 如果为false 在update语句永远不插入该字段
      
      dynamic-insert 如果为true 保存插入一个对象时会动态生成insert语句 包含所有不为null的值 默认false
      
       dynamic-update如果为true 保存更新对象时会动态生成updatet语句 包含所有不为null的值 默认false
    
  
子元素
<meta> 3
属性:
    
       class-description 指定类的javadoc
      
      field-description 指定描述类属性的javadoc
      
      interface 如果为true 表示为接口而不是类
      
      implements 指定所实现的接口
      
      generated-class 重新指定生成的类名
      
      scope-class 指定类的修饰符 默认是public
      
      scope-set 指定set方法的修饰符,默认是public
      
      scope-get 指定get方法的修饰符,默认是public
      
      scope-field 指定类的属性的修饰符,默认是private
      
      use-in-toString 如果为true,指定在toString()的方法里包含此属性
      
      gen-property 如果是false 不会在java类中生成此属性,默认为true
      
      finder-method 指定find方法名
    
  
子元素
<column>3
属性:
    
       name 该字段的名字
      
      length 该字段的长度
      
      not-null 如果为true 表示该字段不许为空
      
      unique 如果为true 表示该字段有唯一约束
      
      index 给一个或多个字段建立索引
      
      unique-key 为多隔字段设定唯一约束
      
      foreign-key 为外键约束命名 在<many-to-one>,<one-to-one>,<key>和<many-to-many>元素中包含foreign-key属性 如果没有定义该属性hbm2dll工具会自动为外键约束生成唯一的名字,在双向关联中inverse属性为true的一端不能设置foreign-key属性
      
      sql-type 指定字段的sql类型
      
      check 设定sql检查约束
    
  
<componenet>2 组件
    
       属性:
      
      name 持久化类的属性名
      
      class 类名
      
      元素:
      
      <parent> 3 指定所属的整体类
      
      <property>3 内部的属性
    
  
值类型 和 实体类型
值类型没有OID 不能被单独持久化 实体类可以单独持久化
    
      ' 当程序持久化组件的所属类的时候 组件类会自动持久化 Hibernate是不允许单独持久化组件类的
      
      ' 组件可以嵌套 可以关联其他持久化类 其他持久化类不能关联它
    
  
一个简单的示例
 <?
      
      
        xmlversion="1.0"
      
      
        ?>
      
        <?
      
      
        xmlversion="1.0"
      
      
        ?>
      
      
         <!
      
      
        DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
      
      
        <!
      
      
        DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
      
      
        >
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
      
      
        >
      
      
         
         <
      
      
        hibernate-mapping
      
      
        >
      
      
        <
      
      
        hibernate-mapping
      
      
        >
      
      
         
         <
      
      
        class
      
      
        name
      
      
        ="ergal.Customer"
      
      
        table
      
      
        ="CUSTOMERS"
      
      
        lazy
      
      
        ="true"
      
      
        >
      
      
        <
      
      
        class
      
      
        name
      
      
        ="ergal.Customer"
      
      
        table
      
      
        ="CUSTOMERS"
      
      
        lazy
      
      
        ="true"
      
      
        >
      
      
         <
      
      
        id
      
      
        name
      
      
        ="id"
      
      
        type
      
      
        ="long"
      
      
        column
      
      
        ="ID"
      
      
        >
      
      
        <
      
      
        id
      
      
        name
      
      
        ="id"
      
      
        type
      
      
        ="long"
      
      
        column
      
      
        ="ID"
      
      
        >
      
      
         <
      
      
        generator
      
      
        class
      
      
        ="increment"
      
      
      
      
        />
      
      
        <
      
      
        generator
      
      
        class
      
      
        ="increment"
      
      
      
      
        />
      
      
         </
      
      
        id
      
      
        >
      
      
        </
      
      
        id
      
      
        >
      
      
         
         <
      
      
        property
      
      
        name
      
      
        ="name"
      
      
        type
      
      
        ="string"
      
      
        >
      
      
        <
      
      
        property
      
      
        name
      
      
        ="name"
      
      
        type
      
      
        ="string"
      
      
        >
      
      
         <
      
      
        column
      
      
        name
      
      
        ="NAME"
      
      
        length
      
      
        ="15"
      
      
      
      
        />
      
      
        <
      
      
        column
      
      
        name
      
      
        ="NAME"
      
      
        length
      
      
        ="15"
      
      
      
      
        />
      
      
         </
      
      
        property
      
      
        >
      
      
        </
      
      
        property
      
      
        >
      
      
         <
      
      
        set
      
      
        <
      
      
        set
         name
      
      
        ="orders"
      
      
        name
      
      
        ="orders"
      
      
         cascade
      
      
        ="all-delete-orphan"
        cascade
      
      
        ="all-delete-orphan"
      
      
         inverse
      
      
        ="true"
        inverse
      
      
        ="true"
      
      
         >
      
      
        >
      
      
         
         <
      
      
        key
      
      
        column
      
      
        ="CUSTOMER_ID"
      
      
      
      
        />
      
      
        <
      
      
        key
      
      
        column
      
      
        ="CUSTOMER_ID"
      
      
      
      
        />
      
      
         <
      
      
        one-to-many
      
      
        class
      
      
        ="ergal.Order"
      
      
      
      
        />
      
      
        <
      
      
        one-to-many
      
      
        class
      
      
        ="ergal.Order"
      
      
      
      
        />
      
      
         </
      
      
        set
      
      
        >
      
      
        </
      
      
        set
      
      
        >
      
      
         </
      
      
        class
      
      
        >
      
      
        </
      
      
        class
      
      
        >
      
      
         </
      
      
        hibernate-mapping
      
      
        >
      
      
        </
      
      
        hibernate-mapping
      
      
        >
      
    


 
					 
					