对hibernate List一对多中list-index的理解

对于hibernate中List集合一对多;一直存在迷惑;每次用的时候总是要查阅许多资料;索性自己就总结啦一下;

eg:

  品牌表:

              <many-to-one name="subType" class="com.Oracle.webdp.entity.SubType" fetch="join">
            <column name="SUBTYPE_ID"/>
        </many-to-one>

   小类表:

<list name="brands" inverse="false" table="BRAND" lazy="true">
            <key>
                <column name="SUBTYPE_ID" />
            </key>
            <list-index>
                  <column name="`index`"></column>
            </list-index>
            <one-to-many class="com.oracle.webdp.entity.Brand" />
        </list>

  (1):关于key的配置

                  以前总是对于key里面的column中name属性感到迷惑;首先要明白这个字段是位于品牌表(多的一方);是他的一个属性(字段);名字可以随便取;只要保证两边设置的值是一样的;即可;可以查看生成对应的表信息

 

这样的话就明白了key的真正用途;     

               

  (2):关于list-index的配置-----------在保存行数据进表里时,hiberante会帮你维护顺序

     相信大家对于set集合的配置已经很熟悉啦;它有两个特点:不能重复且是无序的;相反list集合却是有序且允许重复的;

    这么就引出一个问题;数据库如何保证数据的有序性哪?

     思路:设置一个索引字段;用以保存顺序;

   


转载自http://blog.csdn.net/u014437455/article/details/22516865

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值