1、共享主键方式
共享主键方式就是限制两个数据表的主键使用相同的值,通过主键形成一对一的映射关系。
如:学员的登录帐号信息和学员的详细分别存放到两张不同的表中。
表:
持久化类:
public class Student {
private int sid;
private String sname;
private String sex;
private int age;
private String addr;
private String college;
private String spec;
private String tel;
private String email;
private StuPwd stuPwd;
//getters and setters;
}
public class StuPwd {
private int sid;
private String nickname;
private String password;
private Student student;
//getters and setters;
}
Student.hbm.xml
<one-to-one name="stuPwd" class="org.itair.bean.StuPwd" cascade="all" lazy="false">
</one-to-one>
cascade 主控类的所有操作,对关联类也执行同样操作
StuPwd.hbm.xml
<one-to-one name="student" class="org.itair.bean.Student" constrained="true">
</one-to-one>
constrained 表明当前表的主键上存在一个外键的约束
2、唯一外键方式
唯一外键就是一个表的外键和另一个表的唯一主键对应形成一对一映射关系,这种一对一的关系其实就是多对一的特殊情况。
如客户详情表与地址表也属于典型的一对一关联关系; 调查实例表(pollIns)与调查口令表(pollPwd)也类似。
public class PollIns {
private int piid;
private Date pdate;
private String mgr;
private String monitor;
private int state;
private Poll poll;
private PollPwd pollPwd;
}
public class PollPwd {
private int pid;
private String pwd;
private PollIns pollIns;
}
PollIns.hbm.xml:
<one-to-one name="pollPwd" class="org.itair.bean.PollPwd" property-ref="pollIns">
</one-to-one>
property-ref 指定关联类的属性名
PollPwd.hbm.xml
<many-to-one name="pollIns" class="org.itair.bean.PollIns"
lazy="false" unique="true" column="piid"
/>
unique 唯一性约束,实现一对一关联的目的。
分享到:
相关推荐
通过主函数了解Java中一对一关系,如本列中从Person到child、book。实现从book到person在到child,或从person到child再到book
一对一关系在数据库设计中表示两个实体之间存在着唯一对应的关系,例如一个人只有一个身份证,一个身份证也只能属于一个人。在Hibernate中,我们可以通过注解或者XML配置来实现这种关系。 1. **注解方式配置一对一...
首先,一对一关系映射意味着两个实体之间存在唯一的关系,即一个实体对应另一个实体的唯一实例。在EJB3中,我们可以使用注解来定义这种关系。例如,如果我们有两个实体类,一个是`Employee`,另一个是`PersonalInfo`...
在MyBatis框架中,一对一关系的实现是一个重要的概念,特别是在处理复杂的数据库操作时。这一讲我们将深入探讨如何在MyBatis中配置和使用一对一映射,以方便地获取两个关联表的数据。 首先,我们需要理解一对一关系...
一对一关系_Power BI 商业智能应用demo.pbix
在数据库设计中,当两个表之间存在一对一的关系,即每个表的记录最多只能与另一个表的一条记录相对应,这时我们说它们之间是一对一关系。例如,一个人可能只有一个身份证,而身份证也只属于一个人,这就是典型的“一...
一对一关系相对少见,一般出现在将大型表拆分为更小、更专注的表以优化管理的情况。例如,员工表和用户表可以通过一对一关系关联,以满足不同的业务需求。这种设计可以提高查询速度,符合数据库设计规范,但也会增加...
在数据库中,一对一关系意味着两个表中的每一条记录都对应另一表中的唯一一条记录。在Hibernate中,这种关系可以通过共享主键或外键来实现。由于题目中提到的是“主键实现”,我们将重点讨论共享主键的方式。 1. **...
**概念**:一对一关系意味着两个实体之间存在唯一的关联,一个实体实例对应另一个实体的唯一实例。在数据库中,这通常通过外键约束实现。 **配置方式**: - 使用`@OneToOne`注解在实体类的属性上表示一对一关系。 -...
**一对一关系映射** 一对一关系是指两个实体之间存在唯一对应的关系,比如一个人只有一个身份证。在Hibernate中,我们可以通过以下方式实现一对一关系映射: 1. **注解方式**:在两个实体类中,都可以定义`@...
在数据库设计中,一对一关系意味着两个实体之间存在唯一对应的关系,比如一个人只有一个身份证,或者一个房间只有一扇门。在Hibernate中,这种关系可以通过配置XML映射文件或使用注解来定义。 **描述分析:**描述...
在Hibernate中,我们可以通过以下方式设置一对一关系: 1. **注解配置**:使用`@OneToOne`注解在关联的对象属性上,同时可使用`@PrimaryKeyJoinColumn`或`@MapsId`指定主键关联。例如: ```java @Entity public...
在这个例子中,`User`实体和`Profile`实体之间存在一对一关系。`@OneToOne`注解在`Profile`的`user`属性上,`mappedBy`属性指定了反向关联的属性名,即`User`实体的`profile`属性。同时,`User`实体中的`profile`...
本文实例讲述了Laravel5.1 框架模型一对一关系实现与使用方法。分享给大家供大家参考,具体如下: 这篇文章主要记录模型的一对一关系,关联关系是Model的一种非常方便的功能。 1 实现一对一关系 1.1 准备工作 首先...
在实体类之间,Hibernate支持多种关联关系,包括一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)。本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,...
在项目中,一对一关系通常用于映射具有唯一外键关系的两个表,如用户的身份证信息与用户本身;一对多关系通常用于映射父表和多个子表的关系,如一个订单可能包含多个订单详情;多对一关系是相对于一对多关系来说的,...
例如,`select`视图展示了如何根据一对一关系查询数据。 总之,Django提供了灵活的方式来处理不同类型的数据库关系,这使得开发人员能够构建复杂的数据模型,满足各种业务需求。了解并熟练运用这些关系对于开发高效...