对于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集合却是有序且允许重复的;
这么就引出一个问题;数据库如何保证数据的有序性哪?
思路:设置一个索引字段;用以保存顺序;
好啦;今天就写到这里;待完善..........