[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射

[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射

ID:42625895

大小:34.39 KB

页数:7页

时间:2019-09-19

[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射_第1页
[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射_第2页
[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射_第3页
[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射_第4页
[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射_第5页
资源描述:

《[Mapping]1 hibernate使用set,list,bag,idbag,map和array来实现集合映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在日常系统建模经常会碰到两个实体之间一对多的关系,比如,用户和联系人的关系,如一个用户可以有0个或多个联系人,而一个联系人必须且只能属于一个用户。这样用户和联系人就形成了一对多的关系。Hibernate中的集合类型A、使用元素映射java.util.Set。使用java.util.HashSet初始化集合。它的元素顺序没有保存,并且不允许重复元素。这在典型的hibernate应用程序中是最常见的持久化集合。可以使用映射java.util.SortedSet,且sort属性可以设置成比较器或者用于内存排序的自然顺序。使用java.u

2、til.TreeSet实例初始化集合。B、可以使用映射java.util.List,在集合表中用一个额外的索引列保存每个元素的位置。使用java.util.ArrayList初始化。C、可以使用或者映射java.util.Collection.Java没有Bag接口或者实现。然而,java.util.Collection允许包语义(可能的重复,不保存元素顺序)。Hibernate支持持久化的包(它内部使用列表,但是忽略元素的索引)。使用java.util.ArrayList初始化包集合。D

3、、可以使用映射java.util.Map,保存键值对。使用java.HashMap初始化属性.可以使用元素映射java.uti.SortedMap,且sort属性可以设置为比较器或者用于内存排序的自然顺序。使用java.util.TreeMap实例初始化该集合。E、hibernate使用(对于Java基本的值类型)和(对于其他的一切)支持数组。但是它们很少用在领域模型中,因为hibernate无法包装数组属性。没有字节码基础设施,就失去

4、了延迟加载,以及为持久化集合优化过的脏检查,基本的便利和性能特性A、用Set实现集合用Set实现pojo类的属性类型,使用标签来实现映射。范例1:1.数据库这种一对多关系在数据库中一般利用外键来实现。以下是以postgresql数据库为例。CREATETABLEusers(user_idint4NOTNULLDEFAULTnextval('users_user_id_seq'::regclass),changetimestamp,usernamevarchar(128)NOTNULL,CONSTRAINTusers_pkeyPRIMARYKEY(us

5、er_id))CREATETABLEcontact(contact_idint4NOTNULLDEFAULTnextval('contact_contact_id_seq'::regclass),user_idint4,contact_namevarchar(128),CONSTRAINTpk_contactPRIMARYKEY(contact_id),CONSTRAINTfk_contact_user_idFOREIGNKEY(user_id)REFERENCESusers(user_id)MATCHSIMPLEONUPDATECASCADEONDELETE

6、CASCADE)2.Pojo类这里主要为了说明集合映射,故只实现单向一对多的关系。如下例所使用的Set。当然我们也可使用List,Map,Array等publicclassMailUser{privateintuserID;privateStringuserName;privateSetcontacts;}publicclassContact{privateintcontactID;privateMailUsermailUser;privateStringcontactName;}3.配置文件这里我们不考虑执行效率等其它因素,只求Set集合实

7、现一对多的关系映射。users_user_id_seq

8、or>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。