欢迎来到天天文库
浏览记录
ID:20912599
大小:32.50 KB
页数:6页
时间:2018-10-17
《hibernate表关系之一对多中inverse》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate表关系之一对多(inverse详解)在映射一对多表关系的时候存在一个inverse的问题,一直以来对inverse不怎么了解,今天学到它想要弄明白,在网上看了无数个帖子还是不懂,最后终于看到一位高人的一篇帖子,解释得很透彻,终于彻底了解inverse的含义了,历时5个小时!现在若不是在喜悦的掩盖下我早已吐血了。。。下面说说一对多表关系的应用和inverse详解:以父与子关系为例:父亲可以有多个孩子,而孩子只能有一个父亲。那么反映到数据表是这样实现的:createtableparent(pidintauto_incrementprimarykey,pna
2、mevarchar(20)notnull)createtablechild(cidintauto_incrementprimarykey,pidintnotnull, //在孩子表中添加父亲表的外键,实现一对多cnamevarchar(20)notnull)用Hibernate自动生成的两个映射类,以Set集合方式表示一对多,以一个父亲对象方式表示多对一:publicclassChild{privateIntegercid;privateParentparent; //属于哪个父亲privateStringcname;...}publicclassPar
3、ent{privateIntegerpid;privateStringpname;privateSetchilds=newHashSet(0); //包含孩子的集合...}关键仍然是两个映射文件:Child.hbm.xml: 4、atorclass="native"/> //多对一的属性为parent,对应数据库中的字段为pid,级联更新为all 5、me="cname"length="20"not-null="true"/> Parent.hbm.xml: 6、="native"/> //描述孩子集合,把控制权交给孩子 7、e"/> //以Pid来分辨哪个孩子是属于这个父亲的 测试类:Parentp=newParent();Childc1=newChild();Childc2=newChild();p.setPname("xpc5");c1.setCname("cloud");c1.setParent(p); //设置孩子1的父亲为
4、atorclass="native"/> //多对一的属性为parent,对应数据库中的字段为pid,级联更新为all 5、me="cname"length="20"not-null="true"/>
5、me="cname"length="20"not-null="true"/>
6、="native"/> //描述孩子集合,把控制权交给孩子 7、e"/> //以Pid来分辨哪个孩子是属于这个父亲的
7、e"/> //以Pid来分辨哪个孩子是属于这个父亲的
此文档下载收益归作者所有