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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

hibernate映射关系关联查询.docx

1、hibernate映射关系关联查询 Hibernate关联关系映射目录 A单向关联 一对一外键单向关联 一对一主键单向关联 一对一连接表单向关联 一对多外键单向关联 一对多连接表单向关联 多对一外键单向关联 多对一连接表单向关联 多对多单向关联 B双向关联 一对一外键双向关联 一对一主键双向关联 一对一连接表双向关联 一对多外键双向关联 一对多连接表双向关联 多对多双向关联Hibernate 一对一外键单向关联 2007-08-22 13:17:58标签:Hibernate 一对一推送到技术圈 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。st1:*behavior:url(

2、#ieooui) Hibernate 一对一外键单向关联 事实上,单向1-1与N-1的实质是相同的,1-1是N-1的特例,单向1-1与N-1的映射配置也非常相似。只需要将原来的many-to-one元素增加unique=true属性,用于表示N的一端也必须是唯一的,在N的一端增加了唯一的约束,即成为单向1-1。基于外键的单向1-1的配置将与无连接表N-1关联的many-to-one增加unique=true属性即可。一、模型介绍一个人(Person)对应一个地址(Address)。二、实体(省略getter、setter方法)public class Person11fk private in

3、t personid; private String name; private int age; private Address11fk address11fk;public class Address11fk private int addressid; private String addressdetail;三、表模型mysql desc address_11fk;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| addressid | int(11) | NO | PRI | NULL

4、 | auto_increment | addressdetail | varchar(255) | YES | | NULL | |+-+-+-+-+-+-+mysql desc person_11fk;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| personid | int(11) | NO | PRI | NULL | auto_increment | name | varchar(255) | YES | | NULL | | age | int(11) | YES | | NUL

5、L | | addressId | int(11) | YES | UNI | NULL | |+-+-+-+-+-+-+四、生成的SQL脚本CREATE TABLE address_11fk ( addressid int(11) NOT NULL auto_increment, addressdetail varchar(255) default NULL, PRIMARY KEY(addressid) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; CREATE TABLE person_11fk ( personid int(

6、11) NOT NULL auto_increment, name varchar(255) default NULL, age int(11) default NULL, addressId int(11) default NULL, PRIMARY KEY(personid), KEY FK68A8818F3F45AA77 (addressId), CONSTRAINT FK68A8818F3F45AA77 FOREIGN KEY (addressId) REFERENCES address_11fk (addressid) ) ENGINE=InnoDB AUTO_INCREMENT=2

7、 DEFAULT CHARSET=gbk; 五、映射方法: 在Person中添加Address属性,映射配置为: 六、测试方法public class Test_11fk public static void main(String args) Person11fk p1=new Person11fk(); p1.setAge(21); p1.setName(p1); Address11fk add1=new Address11fk(); add1.setAddressdetail(郑州市经三路); p1.setAddress11fk(add1); Session session= Hiber

8、nateUtil.getCurrentSession(); Transaction tx=session.beginTransaction(); session.save(add1); session.save(p1); mit(); HibernateUtil.closeSession(); 七、测试结果1) :正常保存. 推荐这么干! session.save(add1); session.save(p1);Hibernate: insert into ADDRESS_11fk (addressdetail) values (?)Hibernate: insert into PERSON_

9、11fk (name, age, addressId) values (?, ?, ?)2) :正常保存. session.save(p1); session.save(add1);Hibernate: insert into PERSON_11fk (name, age, addressId) values (?, ?, ?)Hibernate: insert into ADDRESS_11fk (addressdetail) values (?)Hibernate: update PERSON_11fk set name=?, age=?, addressId=? where person

10、id=?3) :正常保存./ session.save(p1); session.save(add1);Hibernate: insert into ADDRESS_11fk (addressdetail) values (?)4) : 发生异常,不能保存. session.save(p1);/ session.save(add1);Hibernate: insert into PERSON_11fk (name, age, addressId) values (?, ?, ?)Exception in thread main org.hibernate.TransientObjectExce

11、ption: com.lavasoft.dx._1_1_fk.Address11fkHibernate 一对一主键单向关联 2007-08-22 15:26:52标签:Hibernate 一对一推送到技术圈 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。Hibernate 一对一主键单向关联 1-1的关联可以基于主键关联,但基于主键关联的持久化类不能拥有自己的主键生成策略,它的主键由关联类负责生成。另外,另外,增加one-to-one元素来关联属性,必须为one-to-one元素增加constrained=true属性,表明该类主键由关联类生成。 一、模型介绍 一个人(Per

12、son)对应一个地址(Address)。 二、实体(省略getter、setter方法) public class Person11pk private int personid; private String name; private int age; private Address11pk address11pk; public class Address11pk private int addressid; private String addressdetail; 三、表模型 mysql desc address_11pk;+-+-+-+-+-+-+| Field | Type |

13、Null | Key | Default | Extra |+-+-+-+-+-+-+| addressid | int(11) | NO | PRI | NULL | auto_increment | addressdetail | varchar(255) | YES | | NULL | |+-+-+-+-+-+-+mysql desc person_11pk;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| personid | int(11) | NO | PRI | | | name

14、 | varchar(255) | YES | | NULL | | age | int(11) | YES | | NULL | |+-+-+-+-+-+-+ 四、生成的SQL脚本 /* Formatted on 2007/08/22 14:40 (QP5 v5.50) */CREATE TABLE address_11pk ( addressid int(11) NOT NULL auto_increment, addressdetail varchar(255) default NULL, PRIMARY KEY (addressid) ENGINE=InnoDB AUTO_INCREM

15、ENT=2 DEFAULT CHARSET=gbk;/* Formatted on 2007/08/22 14:41 (QP5 v5.50) */CREATE TABLE person_11pk ( presonid int(11) NOT NULL, name varchar(255) default NULL, age int(11) default NULL, PRIMARY KEY (presonid), KEY FK68A882C591BB393E (presonid), CONSTRAINT FK68A882C591BB393E FOREIGN KEY (presonid) REF

16、ERENCES address_11pk (addressid) ENGINE=InnoDB DEFAULT CHARSET=gbk; 五、映射方法:在Person中配置id生成策略为: address11pk . address11pk 六、测试方法 public class Test_11pk public static void main(String args) Person11pk p1=new Person11pk(); p1.setAge(21); p1.setName(p1); Address11pk add1=new Address11pk(); add1.setAddres

17、sdetail(郑州市经三路); p1.setAddress11pk(add1); Session session= HibernateUtil.getCurrentSession(); Transaction tx=session.beginTransaction(); session.save(add1); session.save(p1); mit(); HibernateUtil.closeSession(); 七、测试结果 1) :正常保存. 推荐这么干! session.save(add1); session.save(p1);Hibernate: insert into ADDR

18、ESS_11fk (addressdetail) values (?)Hibernate: insert into PERSON_11fk (name, age, addressId) values (?, ?, ?)2) :正常保存. session.save(p1); session.save(add1);Hibernate: insert into PERSON_11fk (name, age, addressId) values (?, ?, ?)Hibernate: insert into ADDRESS_11fk (addressdetail) values (?)Hibernat

19、e: update PERSON_11fk set name=?, age=?, addressId=? where personid=?3) :正常保存./ session.save(p1); session.save(add1);Hibernate: insert into ADDRESS_11fk (addressdetail) values (?)4) : 发生异常,不能保存. session.save(p1);/ session.save(add1);Hibernate: insert into PERSON_11fk (name, age, addressId) values (?

20、, ?, ?)Exception in thread main org.hibernate.TransientObjectException: com.lavasoft.dx._1_1_fk.Address11fkHibernate 一对一连接表单向关联 2007-08-22 15:53:57标签:Hibernate 一对一连接表推送到技术圈 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。Hibernate 一对一连接表单向关联 这种情况很少见,但Hibernate同样允许采用连接表关联1-1.有连接表的1-1同样只需要将N-1的many-to-one元素增加unique=t

21、rue属性即可。一、模型介绍一个人(Person)对应一个地址(Address)。二、实体(省略getter、setter方法)public class Person11tab private int personid; private String name; private int age; private Address11tab address11tab;public class Address11tab private int addressid; private String addressdetail;三、表模型mysql desc address_11tab;+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| ad

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

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