读书人

Hibernate聚合映射配置

发布时间: 2012-11-23 22:54:33 作者: rapoo

Hibernate集合映射配置
??????? <key>
???????????? <column name="表中的外键名称"/>
??????? </key>
??????? <element column="你所需要的表中的字段名" type="映射类型"/>
??? </set>

??? 例如父子表关系配置:

??? <set name="childDesignTaskMain" cascade="none" inverse="true" lazy="false" fetch="select">
??? ??? <key column="designTaskMainIdParent" />
??? ??? <one-to-many table="表名" inverse="false"?

??????????? cascade="all" fetch="join">
? ? ? ? ?? <key>
??????????????? <column name="cno"/>
?????????? </key>
?????????? <index column="Ind"/>
?????????? <one-to-many table="" inverse="false" cascade="all">
????????? <key>
??? ? ? ? ? ? ?? <column name="主键"/>
????????? </key>
????????? <one-to-many clas="对应的关联类的名字例如com.hibernate.Course">
?? </bag>
?? inverse="false",表示由一的一端维护级联操作;

?? 例如:

?? <bag name="designTaskChildList" cascade="all" inverse="false" lazy="false" fetch="select">
???? ??? <key>
???? ??? ??? <column name="designTaskMainId"></column>
???? ??? </key>
???? ??? <one-to-many insert="false" update="false" lazy="false"

??????? fetch="select">
??? ??? <column name="designTaskMainId" />
?? </many-to-one>
?? designTaskMain为该类中的变量名
?? designTaskMainId为数据库中的属性名
?? 如果有大量的重复数据,<bag>标签的效率会比较低,它在更新数据时采用的是先删除要更新的数据,然后插入

?? 数据。使用<idbag>标签可以避免这种情况。

4. <idbag>

??? 首先在数据库中增加字段
??? 'bagid' int(10) unsigned default NULL COMMENT 'bagid'
??? <idbag name="映射的类的名字例如com.hibernate.Student" table="" cascade="save-update">
????????? <collection-id column="bagid" type="integer">
?????????????? <generator type="string"/>
??? </idbag>

??? 可参考:http://www.360doc.com/content/09/0210/22/18042_2510021.shtml
5. Map映射
??? Map是JAVA的一个接口,它是一种重要的集合,它使用key/value方式存储数据;
??? Map具有较高的存取性能,不允许存放重复的key值但允许有重复的value值;
??? Map映射需要增加一个KeyName字段记录Key的值。
??? <map name="映射的类的名字例如com.hibernate.Student' table="">
??????? <key column=""/>
??????? <intdex column="keyname" type="string"/>
??????? <element column="cname" type="string"/>
??? </map>

6. 参考:http://www.blogjava.net/lyyb2001/archive/2008/12/10/245497.html

??? http://ryxxlong.iteye.com/blog/626416

??? http://hi.baidu.com/fytcm/blog/item/0e16a0332f399948ac4b5f0d.html

读书人网 >Web前端

热点推荐