`

hibernate的关联关系----一对一单向关联之主键关联

阅读更多

一对一单向关联:

husband 实体类:
public class Husband implements Serializable{
	private Long id;
	private String name;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
wife实体类:
public class Wife implements Serializable{
	private Long id;
	private String name;
	private Husband husband;
	public Husband getHusband() {
		return husband;
	}
	public void setHusband(Husband husband) {
		this.husband = husband;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

 

关联关系:

husband hbm:
<hibernate-mapping>
<class name="com.model.o2o.pk.Husband" table="t_husband" schema="yang">
    <id name="id" column="id">
        <generator class="native"/>
    </id>
    <property name="name" type="string">
    	<column name="name"/>
    </property>
</class>
</hibernate-mapping>
wife hbm:
<hibernate-mapping>
	<class name="com.model.o2o.pk.Wife" table="t_wife" schema="yang">
		<id name="id" type="java.lang.Long">
			<column name="ID" scale="0" />
			<generator class="sequence" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" not-null="true" />
		</property>
		 <one-to-one name="husband" constrained="true"/>
	</class>
</hibernate-mapping>

sql语句: 

 

drop table yang.t_husband cascade constraints
drop table yang.t_wife cascade constraints
drop sequence hibernate_sequence
create table yang.t_husband (id number(19,0) not null, name varchar2(255 char), primary key (id))
create table yang.t_wife (ID number(19,0) not null, name varchar2(255 char) not null, primary key (ID))
alter table yang.t_wife add constraint FKCB648FFCB0454FF7 foreign key (ID) references yang.t_husband
create sequence hibernate_sequence 

这是hibernate一对一关联关系的一种--主键关联(它的一个明显的特征是使用 <one-to-one name="husband" constrained="true"/>):
也就是说根据该条sql语句生成的表之间存在一种潜在的关联关系:
alter table yang.t_wife add constraint FK37AF11B0454FF7 foreign key (ID) references yang.t_husband
说明t_husband表是主表,t_wife表是子表
它们之间的关系是主外键关系
只有当t_husband表中的id列有数据的时候,对应t_wife表中才能有相应的id列的数据 

分享到:
评论

相关推荐

    hibernate主键实现一对一单向关联关系源码

    本主题将深入探讨如何使用Hibernate通过主键来实现一对一的单向关联关系,并提供相关的源码分析。 首先,我们需要理解一对一关联关系的基本概念。在数据库中,一对一关系意味着两个表中的每一条记录都对应另一表中...

    Hibernate一对一主键关联映射(单向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理两个实体之间存在唯一对应关系时非常有用。本篇将重点讲解如何实现一对一主键关联映射的单向关联,并通过一个...

    Hibernate教程06_关系映射之一对一单向主键关联

    2. **单向关联:** 在一对一单向关联中,只有其中一个实体类(称为拥有端)知道另一方实体(称为无拥端)。无拥端实体类没有外键字段或属性指向拥有端。 3. **主键关联:** 在这种关联中,一方实体的主键作为另一方...

    hibernate一对一关联关系

    在实体类之间,Hibernate支持多种关联关系,包括一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)。本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,...

    hibernate外键实现一对一单向关联关系源码

    以上就是关于Hibernate外键实现一对一单向关联关系的详细说明。这个知识点涉及到数据库设计、ORM框架的使用,以及Java编程实践,对于理解和使用Hibernate进行数据库操作具有重要意义。在实践中,应结合具体业务场景...

    Hibernate基于外键的一对多单向关联

    “Hibernate基于外键的一对多单向关联”这个标题指的是在Java持久化框架Hibernate中,如何通过外键实现一个实体类(如订单)与另一个实体类(如商品)之间的一对多关系,并且这种关联是单向的,即从订单端可以访问到...

    Hibernate 关联关系映射分类

    - **多对一单向关联**:在这种关联中,多个实体共享一个实体的引用,但这个被引用的实体并不知道有哪些实体引用了它。例如,部门与员工之间的关系,一个部门可以有多个员工,但每个员工只属于一个部门。 #### 双向...

    hibernate一对一之唯一外键关联(单向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,用于表示两个实体之间一对一的关系。在这个场景下,我们将讨论一种特殊的一对一关联方式——唯一外键关联(Single...

    hibernate一对一主键关联映射(双项关联)

    在Java的持久化框架...总结来说,Hibernate的一对一主键关联映射,尤其是双向关联,能有效地简化对象关系的映射,提高代码的可读性和维护性。然而,需要根据实际情况权衡其带来的性能影响,确保系统设计的高效性。

    Hibernate 一对一外键单向关联

    总结起来,Hibernate中的一对一外键单向关联提供了方便的方式处理两个实体之间的关系。通过注解或XML配置,我们可以轻松地在Java对象和数据库表之间建立映射,使得数据操作更加简洁和高效。不过,需要注意的是,这种...

    Hibernate_实体关联关系映射--学习总结

    - **一对一主键关联**:两个实体共享同一个主键。 - **一对一连接表关联**:通过一个额外的连接表来实现两个实体之间的一对一关系。 2. **一对多关联**: - **一对多外键关联**:一个实体包含指向多个其他实体的...

    Hibernate关联关系映射目录

    在一对一主键单向关联中,两个实体共享同一个主键。这种方式通常用于当两个实体之间存在着紧密联系,以至于其中一个实体的生命周期依赖于另一个实体时。 **表结构示例**: - **Person表**: - `personid`: 主键 - ...

    hibernate关联关系之一对一双向关联

    这种关联关系可以是单向的,也可以是双向的,而这里的"hibernate关联关系之一对一双向关联"着重讨论的是后者。双向关联意味着两个实体类都可以直接访问对方,提供了更方便的数据操作。 在Hibernate中,一对一双向...

    hibernate一对一主键关联代码实现

    总之,Hibernate的一对一主键关联提供了灵活的方式处理两个实体之间的单一对应关系。通过共享主键或外键,以及单向或双向关联,开发者可以根据业务需求进行定制。在实践中,应合理选择关联策略,确保数据的完整性和...

    hibernate实体关联关系映射

    本文旨在深入探讨Hibernate中的实体关联关系映射技术,主要包括一对一、一对多、多对多等不同类型的关联关系及其在实际开发中的应用技巧。通过本文的学习,开发者可以更好地理解和掌握Hibernate框架下的实体关联关系...

    hibernate一对一主键关联(注解版)

    本知识点主要讲解的是使用Hibernate实现一对一主键关联(Primary Key Join)的方式,通过注解进行配置。 一对一的关联在数据库设计中并不常见,但当两个实体之间确实存在一对一的关系时,如用户和其个人资料,这种...

    Hibernate一对一唯一外键关联映射(单向关联)

    在一对一唯一外键关联映射中,单向关联意味着一个实体知道另一个实体,而另一个实体对此关系无感知。通过在映射文件中配置`one-to-one`标签,我们可以方便地在Java对象和数据库表之间建立和维护这种关系。在实际开发...

    Hibernate一对一单向外键关联 (联合主键annotation)

    本篇将详细讲解如何使用Hibernate进行一对一单向外键关联,并且该关联涉及到联合主键的注解配置。 首先,一对一关联可以分为两种类型:单向和双向。在单向一对一关联中,只有一个实体知道另一个实体的存在,而另一...

    hibernate 全面学习->hibernate 关联映射学习

    `hibernate_one2one_pk_1`和`hibernate_one2one_pk_2`可能涉及主键级联,即两个表共享相同的主键,而`hibernate_one2one_ufk_1`和`hibernate_one2one_ufk_2`可能是通过外键实现的一对一关系。在Hibernate中,这需要...

    Hibernate关联关系.doc

    1. **多对一单向关联关系** 多对一关联通常用于表示一个实体可以与多个其他实体相关联,而反过来却不行。以客户(Customer)和订单(Order)为例,每个订单对应一个客户,但一个客户可以有多个订单。在Hibernate中...

Global site tag (gtag.js) - Google Analytics