




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
共六种情况,分成两大类,每类有3个第一类: 1对1单向关联一对一,通过外健实现的单向关联是M:1的特例假设一个人只有一个办公室:Person(pid int primary key, pname char(10), office_id int references office(id);Office(oid int primary key, address char(10);CREATE TABLE person ( pid int(11) NOT NULL DEFAULT 0, pname char(10) DEFAULT NULL, office_id int(11) DEFAULT NULL, PRIMARY KEY (pid), KEY person_office_FK (office_id), CONSTRAINT person_office_FK FOREIGN KEY (office_id) REFERENCES office (oid);CREATE TABLE office ( oid int(11) NOT NULL DEFAULT 0, address varchar(20) DEFAULT NULL, PRIMARY KEY (oid)对应的类:public class Person private Integer pid;/主键private String pname;private Office office;/对应的办公室,单向关联public Integer getPid() return pid;public void setPid(Integer pid) this.pid = pid;public String getPname() return pname;public void setPname(String pname) this.pname = pname;public Office getOffice() return office;public void setOffice(Office office) this.office = office;OFFICE类:public class Office private Integer oid;/Office id为主键private String address;public Integer getOid() return oid;public void setOid(Integer oid) this.oid = oid;public String getAddress() return address;public void setAddress(String address) this.address = address;相应的映射文件:Person.hbm.xml Office.hbm.xml 测试:public static void main(String args) Session session = HibernateSessionFactory.getSession();Transaction tx = session.beginTransaction();Person p = new Person();p.setPname(张三);Office o = new Office();o.setAddress(北京);p.setOffice(o);/保存的顺序与效率有关session.save(o);session.save(p);mit();session.close();一对一,通过主健实现的单向关联主健类不能主健生成策略,由关联类负责.假设一个人只有一个办公室:Person(pid int primary key references office(oid), pname char(10);/注意pid既是主健也是外键Office(oid int primary key, address char(10);CREATE TABLE office ( oid int(11) NOT NULL DEFAULT 0, address varchar(20) DEFAULT NULL, PRIMARY KEY (oid)CREATE TABLE person ( pid int(11) NOT NULL DEFAULT 0, pname char(10) DEFAULT NULL, PRIMARY KEY (pid), CONSTRAINT person_ibfk_1 FOREIGN KEY (pid) REFERENCES office (oid)对应的类:与上同。映射:Person.hbm.xml office Office.hbm.xml无变化 测试:无变化一对一,通过连接表的单向关联这种方案比较少见,设置与通过外健实现的单向关联基本相同数据库表:CREATE TABLE person ( pid int(11) NOT NULL, pname char(10) DEFAULT NULL, PRIMARY KEY (pid)CREATE TABLE office ( oid int(11) NOT NULL, address varchar(20) DEFAULT NULL, PRIMARY KEY (oid)关联表CREATE TABLE person_office ( oid int(11) DEFAULT NULL, pid int(11) DEFAULT NULL, KEY FK1 (pid), KEY fk2 (oid), CONSTRAINT fk2 FOREIGN KEY (oid) REFERENCES office (oid), CONSTRAINT FK1 FOREIGN KEY (pid) REFERENCES person (pid)Person/Office类同上Mapping文件:Person.hbm.xml Office.hbm.xml 测试同上。第二类: 1对1双向关联一对一,通过连接表的双向关联数据库表同一对一,通过连接表的单向关联类:public class Person private Integer pid;/主键private String pname;private Office office;/对应的办公室public class Office private Integer oid;/Office id为主键private String address;private Person person;/对应的人映射:Person.hbm.xml Office.hbm.xml 一对一,通过主健实现的双向关联(应用稍多)数据库表格同通过主健实现的单向关联CREATE TABLE person ( pid int(11) NOT NULL DEFAULT 0, pname char(10) DEFAULT NULL, PRIMARY KEY (pid), CONSTRAINT person_ibfk_1 FOREIGN KEY (pid) REFERENCES office (oid)CREATE TABLE office ( oid int(11) NOT NULL DEFAULT 0, address varchar(20) DEFAULT NULL, PRIMARY KEY (oid)类同其他双向关联public class Person private Integer pid;/主键private String pname;private Office office;/对应的办公室public class Office private Integer oid;/Office id为主键private String address;private Person person;/对应的人 office public class Test public static void main(String args) Session session = HibernateSessionFactory.getSession();Transaction tx = session.beginTransaction();Person p = new Person();p.setPname
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业大数据分析与智能装备租赁服务合同
- 2025年度绿色建筑轻钢厂房土建施工与配套设施建设一体化协议
- 2025年度智能汽车安全性能检测担保质押服务协议
- 2025年度工业废气处理环保设备租赁服务协议
- 2025年现代化工厂生产区深度保洁与安全防护合同
- 2025年绿色印刷材料环保认证采购合作协议
- 2025年新能源电动汽车租赁合同终止及违约责任处理协议
- 2025年度和谐离异协议起草指导与条款解读
- 都匀公务员面试题库及答案
- 村考公务员面试题及答案
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 2025年村级防疫员考试模拟试题及答案
- 快餐公司门店设备夜间关闭管理制度
- 产后尿潴留护理查房
- 自由与规则班会课件
- 以童心为笔:基于儿童心理发展需求的小学校园公共活动空间设计
- 新安全生产法2025全文
评论
0/150
提交评论