全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hibernate多对多单向关联一、模型介绍多个人(Person)对应多个地址(Address)。一个人可对应多个地址,一个地址也可以对应多个人。二、实体(省略getter、setter方法)public class Personnn private int personid;private String name;private int age;private Set addresses=new HashSet();public class Addressnn private int addressid;private String addressdetail;三、表模型mysql desc person_nn;+-+-+-+-+-+-+| Field| Type| Null | Key | Default | Extra|+-+-+-+-+-+-+| personid | int(11)| NO| PRI | NULL| auto_increment | name| varchar(255) | YES| NULL| age| int(11)| YES| NULL|+-+-+-+-+-+-+mysql desc join_nn;+-+-+-+-+-+-+| Field| Type| Null | Key | Default | Extra |+-+-+-+-+-+-+| personid| int(11) | NO| PRI | addressid | int(11) | NO| PRI |+-+-+-+-+-+-+mysql desc person_nn;+-+-+-+-+-+-+| Field| Type| Null | Key | Default | Extra|+-+-+-+-+-+-+| personid | int(11)| NO| PRI | NULL| auto_increment | name| varchar(255) | YES| NULL| age| int(11)| YES| NULL|+-+-+-+-+-+-+四、生成的SQL脚本/* Formatted on 2007/08/21 11:13 (QP5 v5.50) */CREATE TABLE address_nn (addressid int(11) NOT NULL auto_increment,addressdetail varchar(255) default NULL,PRIMARY KEY(addressid) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gbk;/* Formatted on 2007/08/21 11:14 (QP5 v5.50) */CREATE TABLE join_nn (personid int(11) NOT NULL,addressid int(11) NOT NULL,PRIMARY KEY(personid,addressid),KEY FKAAB98CF5E008E752 (personid),KEY FKAAB98CF5239F6A16 (addressid),CONSTRAINT FKAAB98CF5239F6A16 FOREIGN KEY (addressid) REFERENCES address_nn (addressid),CONSTRAINT FKAAB98CF5E008E752 FOREIGN KEY (personid) REFERENCES person_nn (personid) ENGINE=InnoDB DEFAULT CHARSET=gbk;/* Formatted on 2007/08/21 11:14 (QP5 v5.50) */CREATE TABLE person_nn (personid int(11) NOT NULL auto_increment,name varchar(255) default NULL,age int(11) default NULL,PRIMARY KEY(personid) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=gbk;五、映射方法六、测试方法public class Test_nn public static void main(String args)Addressnn add1=new Addressnn();Addressnn add2=new Addressnn();Addressnn add3=new Addressnn();Personnn p1=new Personnn();Personnn p2=new Personnn();add1.setAddressdetail(郑州市经三路);add2.setAddressdetail(合肥市宿州路);add3.setAddressdetail(北京市长安路);p1.setName(wang);p1.setAge(30);p2.setName(lee);p2.setAge(50);p1.getAddresses().add(add1);p1.getAddresses().add(add2);p2.getAddresses().add(add2);p2.getAddresses().add(add3);Session session= HibernateUtil.getCurrentSession();Transaction tx=session.beginTransaction();session.save(add1);session.save(add2);session.save(add3);session.save(p1);session.save(p2);mit();HibernateUtil.closeSession();七、测试结果1) :正常保存.session.save(add1);session.save(add2);session.save(add3);session.save(p1);session.save(p2);Hibernate: insert into ADDRESS_nn (addressdetail) values (?)Hibernate: insert into ADDRESS_nn (addressdetail) values (?)Hibernate: insert into ADDRESS_nn (addressdetail) values (?)Hibernate: insert into PERSON_nn (name, age) values (?, ?)Hibernate: insert into PERSON_nn (name, age) values (?, ?)Hibernate: insert into join_nn (personid, addressid) values (?, ?)Hibernate: insert into join_nn (personid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职工医疗服务合同范本
- 股东解除协议格式合同
- 股权转让担保合同范本
- 自制茶饮售卖合同范本
- 药房商铺出租合同范本
- 装修公司行业合同范本
- 装修合同新增补充协议
- 装修定制付款合同范本
- 装修开荒保洁合同范本
- 观光苗木出售合同范本
- 超市台账管理制度
- 筑牢安全防线 共建平安校园-开学安全教育主题班会
- 大学生教育学德育
- 建筑工程节能专项施工方案
- 老年护理服务质量管理职责与标准
- 二零二五年度飞机租赁及航空器改装合同3篇
- 10KV软启动柜技术规范书
- 《传输网运维规程》课件
- DB2201T 24-2022 梅花鹿鹿肉分割技术规范
- 数字化解决方案设计师职业技能竞赛参考试题库(含答案)
- 外墙外保温(石墨聚苯板)及装修施工方案
评论
0/150
提交评论