- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate——对多和多对多关联关系映射xml和注解总结
Hibernate(6)—— 一对多和多对多关联关系映射(xml和注解)总结涉及的知识点总结如下:One to Many 映射关系多对一单向外键关联(XML/Annotation)一对多单向外键关联(XML/Annotation)懒加载和积极加载一对多双向外键关联(XML/Annotation)Many to Many 映射关系多对多单向外键关联(XML/Annotation)多对多双向外键关联(XML/Annotation)set的inverse元素详解问题小结关联关系的优缺点 多对一单向外键关联关系 注意多对一关联是多方持有一方的引用。看一个例子,去淘宝购物,那么一个淘宝用户可以对应多个购物订单,如图所示: 多的一方是Orders,持有一方的引用,也就是Users,而在Users中无需作任何定义,从订单到用户的关系是单向多对一关联。对应数据库就是: 还有比如说学生和班级的关系,多个学生可以属于同一个班级,这就是从学生到班级也是典型的单向多对一关系,看代码实现: 基于注解的多对一单向外键关联: 单向多对一关联中,多方需要持有一方的引用,那么多方(学生类)需要额外配置,需要对持有的一方引用使用注解@ManyToOne (cascade={CascadeType.ALL}, fetch=FetchType.EAGER),设置为级联操作和饥渴的抓取策略,@JoinColumn(name=cid),而一方(教室类)无需做任何多方的定义。 注意;多方必须保留一个不带参数的构造器!?importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;//班级类,在多对一关系中属于一的方,不持有其他多余的配置,反而是被多方持有@Entitypublic class ClassRoom { private intcid;//班级编号 private String cname;//班级名称// 自动增长的主键 @Id @GeneratedValuepublicintgetCid() {returncid; }public void setCid(intcid) {this.cid = cid; }public String getCname() {returncname; }public void setCname(String cname) {ame = cname; }}View Code一方——班级类无需做多余的定义,下面是多方——学生实体和配置:?importjavax.persistence.CascadeType;importjavax.persistence.Entity;importjavax.persistence.FetchType;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;//学生实体类,属于多对一的多方,持有班级(一方)的引用@Entitypublic class Students { private intsid; //编号 private String sname; //姓名 private ClassRoom classroom;//学生班级 //注意:多方一定要显式的定义不带参数的构造方法public Students() { }public Students(String sname) {this.sname = sname; }// 多方使用注解:@ManyToOne// fetch=FetchType.EAGER,急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。// 全部级联操作,referencedColumnName显式设置数据库字段名cid,不写默认就是和name一样的。 @ManyToOne (cascade={CascadeType.ALL}, fetch=FetchType.EAGER)@JoinColumn(name=cid,referencedColumnName=cid)publicClassRoomgetClassroom() {return classroom; }public void setClassroom(ClassRoom classroom) {this.classroo
您可能关注的文档
- FDTD讲义Chapter.ppt
- FEChFORTRAN程序设计.ppt
- FEMM软件的使用方法.docx
- FECh结构动力学问题的有限元法.ppt
- FFT复习与习题解答.ppt
- FECh有限单元法的形成与发展ANSYS简介.ppt
- FILTER的设计.ppt
- FIN波动率的估计.ppt
- FIN线性ARMA模型.ppt
- FEMch有限元法的力学基础.ppt
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
最近下载
- 江苏省2021年中学生生物学奥林匹克初赛理论试题答案.doc
- 2025年哈尔滨应用职业技术学院单招语文测试题库附答案.docx VIP
- 2025年安徽水利水电职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 【道氏理论】(完全版).doc
- 分娩镇痛的现状和临床应用课件.ppt
- 学科中心教研组管理方案.docx VIP
- 五年级下册数学单元测试-3长方体和正方体 人教版(含答案).docx
- 2024年安徽水利水电职业技术学院单招职业技能测试题库(考试直接用).docx VIP
- 23S516 混凝土排水管道基础及接口图集.docx VIP
- 数控系统(CNC)系列:Fanuc 31i-B_(6).G代码和M代码详解.docx
文档评论(0)