ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:25.97KB ,
资源ID:10428424      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10428424.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Hibernate集合类映射.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Hibernate集合类映射.docx

1、Hibernate集合类映射Hibernate集合类映射1 Java 集合类介绍Java中的集合类用于存储一组对象,其中的每一个对象称之为元素。Java.util包提供经常使用的java集合类有ArrayList、Hashset、HashMap、HashTable等。这些类都是java.util.Collection和java.util.Map接口的一些实现类。java.util.Collection是顶层的一个接口类。java.util.List、java.util.Set、java.util.StoreSet是三个继承Collection接口的子接口。而常用的java.util.Vecto

2、r、java.util.ArrayList、java.util.HashSet、java.util.TreeSet等则是上述三个子接口的实现类。java.util.Map也是最顶层的接口类,该类只有一个子接口即java.util.SortedMap,另外java提供了Map的多个实现类,如java.util.HashMap、java.util.HashTable、java.util.TreeMap等。Java集合类主要分三种类型:Set:集合。元素不按照特定方式排序,并且不可有重复List:集合。元素按照索引位置排序,可以有重复Map:集合。每个元素由一个键值对(key-value)组成,键对

3、象不能重复,但是值对象可以重复Set s = new HashSet();Iterator itr = s.itorator(); /获取HashSet 对象的循环指示器While (itr.hasNext()) System.out,println(String) itr.next() );List a = new ArrayList();For(int i=0; i=a.size();i+) /根据ArrayList对象的索引值循环读取 System.out,println(i+”:” + (String) a.get(i) );Map h = new hashMap();h.put(“0

4、01” , “Hibernate”);h.put(“002”,”Struts”);h.put(“003”, “Spring”);Iterator itr_key = h.keySet().iterator(); /获取HashMAp对象的键集合的循环指示器While(itr_key.hasNext() String key=(String)itr_key.next(); System.out,println(key+ “ :”+(String) h.next(key) );集合类的使用方式总结:Set:与Iterator接口结合使用,使用循环指示器循环读取Set集合中的元素List:使用元素索

5、引值顺序读取List集合中的元素Map:首先使用循环指示器获取Map的键集合中的键对象,然后通过键对象读取值对象。2 Hibernate的集合类映射根据java集合类的特点,Hibernate中可以分为如下几种集合类映射:无序,通常用于一对多或多对多关联关系映射。:有序,必须要有一个索引字段。:无序,必须要有一个映射关键字字段。:有序,必须要有一个索引字段。:有序,必须要有一个索引字段不同的接口类需要映射到不同的Hibernate集合类映射元素集合类接口常用实现类映射元素Java.util.SetJava.util.ArrayListJava.util.VectorJava.util.Coll

6、ectionJava.util.HashSetJava.util.ArrayListJava.util.MapJava.util.HashMapJava.util.HashtableJava.util.StoreSetJava.util.TreeSetJava.util.StoreMapJava.util.TreeMap3 集合类映射的定义集合类映射的一般定义格式: importjava.util.List;importjava.util.Map;importjava.util.Set; 1. publicclassCollectionMapping 2. privateintid; 3. p

7、rivateStringname; 4. privateSetsetValues; 5. privateListlistValues; 6. privateStringarrayValues; 7. privateMapmapValues; 8. publicStringgetArrayValues()returnarrayValues; 9. publicvoidsetArrayValues(StringarrayValues) 10. this.arrayValues=arrayValues; 11. 12. publicintgetId() returnid; 13. publicvoi

8、dsetId(intid) this.id=id; 14. publicListgetListValues() returnlistValues; 15. publicvoidsetListValues(ListlistValues) 16. this.listValues=listValues; 17. 18. publicMapgetMapValues() returnmapValues; 19. publicvoidsetMapValues(MapmapValues) 20. this.mapValues=mapValues; 21. 22. publicSetgetSetValues(

9、) returnsetValues; 23. publicvoidsetSetValues(SetsetValues) 24. this.setValues=setValues; 25. 26. publicStringgetName() returnname; 27. publicvoidsetName(Stringname) this.name=name; 28. 1. 2. !DOCTYPEhibernate-mappingPUBLIC 3. -/Hibernate/HibernateMappingDTD3.0/EN4. 5. 6. 8. 9. 10. 11. 12. 13. 14. 1

10、5. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 4 Hibernate关联关系映射目录 单向关联 一对一外键单向关联 一对一主键单向关联 一对一连接表单向关联 一对多外键单向关联 一对多连接表单向关联 多对一外键单向关联 多对一连接表单向关联 多对多单向关联双向关联 一对一外键双向关联 一对一主键双向关联 一对一连接表双向关联 一对多外键双向关联 一对多连接表双向关联 多对多双向关联41 一对一外键单向关联模型一个人(Person)对应一个地址(address)实体:public class Pers

11、on private int personid; private String name; private int age; private Address address;public class Address private int addressid; private String addressdetail;表模型address+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| addressid | int(11) | NO | PRI | NULL | auto_increment

12、| addressdetail | varchar(255) | YES | | NULL | |+-+- +-+-+-+-+person;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| personid | int(11) | NO | PRI | NULL | auto_increment | name | varchar(255) | YES | | NULL | | age | int(11) | YES | | NULL | | addressId | int(11) | YES |

13、 UNI | NULL | |+- +-+-+-+-+-+映射方法: 在Person中添加Address属性,映射配置为: 42一对一主键单向关联1-1的关联可以基于主键关联,但基于主键关联的持久化类不能拥有自己的主键生成策略,它的主键由关联类负责生成。另外,增加one-to-one元素来关联属性,必须为one-to-one元素增加constrained=true属性,表明该类主键由关联类生成。模型: 一个人(Person)对应一个地址(Address)实体: public class Person private int personid; private String name; priv

14、ate int age; private Address address;public class Address private int addressid; private String addressdetail; 表模型address+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| addressid | int(11) | NO | PRI | NULL | auto_increment | addressdetail | varchar(255) | YES | | NULL | |

15、+-+- +-+-+-+-+person;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+- +-+-+-+-+-+| personid | int(11) | NO | PRI | NULL | auto_increment | name | varchar(255) | YES | | NULL | | age | int(11) | YES | | NULL | | addressId | int(11) | YES | UNI | NULL | |+- +-+-+-+-+-+映射方法:在Person中配置id生成

16、策略为: address . address 43 一对一连接表单向关联这种情况很少见,但Hibernate同样允许采用连接表关联1-1.有连接表的1-1同样只需要将N-1的many-to-one元素增加unique=true属性即可。public class Person private int personid; private String name; private int age; private Address address;public class Address private int addressid; private String addressdetail;表结构address;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| addressid | int(11) | NO | PRI | NULL | auto_increment | addressdetail | varchar(255) | YES | | NULL | |+-+-+-+-+-+-+join;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| personid |

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1