一对一关联映射有两种实现策略:

第一种:主键关联,即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系;数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联
第二种:唯一外键关联,外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系


其中一对一的关联映射,又分为单向一对一映射和双向一对一映射,这里主要介绍单向一对一映射。


二、实例介绍(主键关联)

2.1,建立两个实体对象类

IdCard类:


映射文件:


Person类:


映射文件:


2.2,生成数据库表单


2.3,Hibernate配置


2.4,测试类



以上就是简单的单向一对一关联映射,关于双向关联映射和单向是类似的,在另一个实体映射关系中添加进去一对一的标签配置即可。


三、简单介绍外键关联

使用唯一外键关联,则需要在配置一对一关系时加上property—ref属性。如:我们在Person类中添加上IdCard的外键映射private IdCard idCard,那么在IdCard的配置文件中,则需要加上:

<one-to-one name="idCard" constrained="true" property-ref=“idCard”></one-to-one> 它表示本类(IdCard)的主键将会与关联类(Person)的此属性(idCard)相对应


四、总结

让我想一下,没有配置这种关联映射的时候,在加载数据的时候是怎么做的?

似乎我们一般是用连接查询,比如:where a.id=b.courseid等,或者是将外键的值查出来,然后拿着这个值去另一张表里查对应的数据。但是对于Hibernate来说,只是配置的问题,感觉上经过封装,简单了很多!接下来就是多对多、继承、集合映射的学习了。





相关文章:

  • 2021-06-26
  • 2022-12-23
  • 2021-07-10
  • 2021-08-09
  • 2022-12-23
  • 2022-01-23
  • 2021-06-10
  • 2022-12-23
猜你喜欢
  • 2021-09-18
  • 2021-07-12
  • 2022-12-23
  • 2021-07-23
相关资源
相似解决方案