Hibernate 映射文件 结构

阅读更多

Hibernate 映射文件 结构

 

  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >

  

 

   

     

   

   

   

   

   

                column="full_content" type="string" 

                generated="insert">

 

 

1. 主要元素配置

    hibernate-mapping 有各种属性(P389),class也有各种属性(P390).

    

    class里面也可以配置hibernate-mapping表示覆盖配置.

    

    hibernate-mapping里面可以包含多个class,但是一般一个文件只配置一个class(表).

    

    class里面id配置标识属性,其他使用property配置.

    

    id和property都有各种 属性值可配置(P392)

 

2. id的生成器配置

   

     

   

    

    上面主键配置中,generator表示主键生成器(P392).

    

3. property元素的属性配置(p394)

 

   其中,generated熟悉配置该字段是否由数据库自动生成(通过触发器生成)

   配置值为never:不由数据库生成

   insert: insert时有数据库生成

   always:insert和udpate时都由数据库生成.

   配置的类中,在generated配置的值insert时,持久化类中对应的属性值不会插入到数据库中.

   在配置的值为always时,持久化类中对应的属性值 不会 被insert/update到数据库.

   

4. 映射集合属性

 

   Hibernate要求,之久话集合字段必须声明为 接口.

   

   在配置映射文件时,可以使用list,set,map,array等元素(相当于代替普通的property元素),

   来配置集合映射.

   这些元素可以有下面的属性:

   table 指定保存集合属性值的表名,如果没有指定该值,则表名和name相同.

   column:指定外键的列名

   on-delete指定外键约束是否打开数据库级别的级联删除.

   property-ref:指定外键引用的字段是否为原表的主键.

   update:指定外键列是否可更新

   unique:指定外键列是否具有唯一约束

   其他参考(P398)

 

5. 映射组件

 

 

   

     

     

     

     

     

       

       

         

     

   

    

7. 映射集合,该集合的 元素 为 组件,元素数据来自集合的表,组件字段是集合表中的.

   普通map中一个key对应一个字段,而使用组件作为元素,则一个key可以对应多个字段.

 

 

   

     

     

     

     

     

       

       

         

     

   

   

8.  映射集合,该集合的 key 为 组件,  使用 composite-map-key

    组件字段是集合表中的.

 

   

   

     

     

     

       

       

       

     

         

   

    

9. 组件作为复合主键

  

   此时,组件必须满足:

   (1) 实现 java.io.serializable接口

   (2) 需要正确重写equals()和hashCode()方法

   

   一个映射配置中,id和composite-id只能出现一次(因为一个表只能有一个主键)

   

   

   

     

       

       

   

  • TestHibernate.7z (6.6 MB)
  • 下载次数: 0

你可能感兴趣的:(Hibernate,映射文件,结构)