映射文件中的集合属性和组成关系映射

本文详细介绍了在ORM中如何使用不同的集合元素(如Set、List、Bag等)进行映射,以及如何处理组件关系映射。涵盖了集合属性映射的具体配置选项,如级联操作、外键映射及元素类型等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.映射文件中的集合属性有:List、Set、Array、Bag、Map、idbag

     1. Set:无序、不可重复

        Set集合元素:key、element

            <set>元素来映射持久化类的set类型的属性
                   name:设定待映射持久化类的属性名

                   cascade:设定级联操作的程度

            <key>子元素:设定与所关联的持久化类对应的表的外键

                   column:指定关联表的外键名

            <element>元素包括的not-null="true"属性,表示集合属性表以关联持久化类的外键和元素列作为联合主键,否则该         表没有主键。

            <one-to-many>子元素:设定所关联的持久化类(集合中存放的对象)。

                   class:指定关联的持久化类的类名

     2. List:有序、添加次序列、以接口声明
        list集合元素:list-index、key、element
            1> <list>元素中用<list-index>子元素表示映射有序集合的次序列。
            2> 当集合中属性的值存放于其他表中,必须以外键关联,并用<key>元素映射外键列
            3> <list>元素中的<element>子元素的适用类型:基本数据类型、包装类、字符串、日期类型 
            4> List集合属性总是以外键列和元素列作为联合主键


     3. Array:与List处理方式基本一致,用<array>元素完成映射

     4. Bag:无序、允许重复

          1> bag元素可分别为List、Collection集合属性映射
          2> 一旦使用<bag>元素,无论是哪种集合属性都被映射为无序集合,而且集合属性对应的表没有主键
          3> <bag>元素用<key>子元素映射外键列,用<element>子元素映射集合属性中的每个元素。

     5. Map:需映射属性值和属性Key
        Map集合元素:key、map-key、element
             1> Hibernate以外键列和Key值作为联合主键
             2> <map>元素中的<key>子元素映射外键列,<map-key>子元素映射Map集合的Key
             3> <map-key>和<element>元素都必须确定type属性


二.组成关系映射


     某个组建变量,亦称组建属性(持久化类的属性),类型为自定义类。

   1> 有集合属性持久化类,则需使用set、list、bag等集合元素来映射集合属性。如果集合元素为定义类,则需使用<composite-element>子元素来映射集合元素。

  2> 每个<component>元素映射一个组件属性,组件属性必须用class确定该组件的类型,用<property>子元素定义组件类型的子属性。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走路诗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值