`
libg
  • 浏览: 58592 次
  • 性别: Icon_minigender_1
  • 来自: 河北邯郸
社区版块
存档分类
最新评论

在Hibernate中的单向关联(Unidirectional associations)笔记

阅读更多

Hibernate的单向的笔记

hibernate-符合Java习惯的关系数据库持久化---帮助文档.chm

7.2.1 多队一(many to one)
单向many-to-one关联是最常见的单向关联关系。
表有两张
<1>Person(人)
create table Person
(
 personId bigint not null primary key,
 addressId bigint not null
)
<2>Address(地址)
create table Address
(
 addressId bigint not null primary key
)
hibernate创建的关联关系如下:
类 :Person
<class name = "Person">
 <id name = "id" column = "personId">
  <generator class = "native"/>
 </id>
 <many-to-one name = "address" column = "addressId" not-null= "true"/>
</class>

类 :Address
<class name = "Address">
 <id name = "id" column = "addressId">
  <generator class = "native"/>
 </id>
<class >

创建了单向的多对一,这意味着只能从一端访问另一端,而不能双向访问
以上是 人 和 地址 的关系,那是什莫样的关系呢,想想 根据以上的创建是创建了人和地址的多对一的关联
这意味着只能在多的一方访问另一方,而不能在odd的一方访问另一方了。

 

/*************************************************************************************************/

7.2.2 一对一 (one to one)
<1>  基于外键关联的单向一对一关联和单向多对一关联几乎一样的。
唯一的不同就是单向一对一关联中的外键字段具有唯一性约束。
表有两张
<1>Person(人)
create table Person
(
 personId bigint not null primary key,
 addressId bigint not null unique---唯一约束
)
<2>Address(地址)
create table Address
(
 addressId bigint not null primary key
)
hibernate创建的关联关系如下:
<class name = "Person">
 <id name = "id" column = "personId">
  <generator class = "native"/>
 </id>
 <many-to-one name = "address" column = "addressId" unique = "true"
 not-null = "true">
</class>
<2>基于主键关联的单向一对一关联通常用一个特定的Id生成器。(请注意,在这个例子中我们调换了关系方向。)
<1>Person(人)
create table Person
(
 personId bigint not null primary key,
)
<2>Address(地址)
create table Address
(
 addressId bigint not null primary key
)
hibernate创建的关联关系如下:
<class name = "Person">
 <id name = "id" column = "personId">
  <generator class = "native"/>
 </id>
</class>
<class name = "Address">
 <id name = "id" column = "personId">
  <generator class = "foreign">---foreign=外交的...
   <param name = "property">
    person
   </param>
  </generator>
 </id>
 <one-to-one name = "person" constrained = "true"/>---constrained=强迫的
</class>

/*************************************************************************************************/
7.2.3 一对多 (one to many)
基于外键关联的单向一对多关联是一种很好见的情况,并不推荐使用。
<1>Person(人)
create table Person
(
 personId bigint not null primary key,
)
<2>Address(地址)
create table Address
(
 addressId bigint not null primary key
)
hibernate创建的关联关系如下:
<class name = "Person">
 <id name = "id" column = "personId">
  <generator class = "native">
 </id>
 <set name = "addresses">
  <key column = "personId" not-null = "true"/>
  <one-to-many class = "Address">
 </set>
</class>
<class name = "Address">
 <id name = "id" column = "addressId">
  <generator class = "native"/>
 </id>
</class>
我们认为对于这种关联关系最好使用连接表。

分享到:
评论
1 楼 kenneth_lee 2008-08-29  
很好,谢谢!

相关推荐

    Hibernate教程04_关系映射之一对一单向外键关联

    在Hibernate中,一对一关系有多种实现方式,包括单向和双向关联,以及外键在主表还是从表等不同形式。 **压缩包子文件的文件名称列表:s2sh_relation01_one2one_uni_fk** 这个文件名暗示了这是一组基于Spring、...

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

    在Hibernate中,单向关联通过在一方实体类上添加注解来实现。 ```java @Entity public class Person { @OneToOne @JoinColumn(name = "id_card_id") private IdCard idCard; } ``` - **双向关联**:双方都...

    Hibernate+中文文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    Hibernate中文详细学习文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    hibernate3.2中文文档(chm格式)

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    Hibernate 中文 html 帮助文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    hibernate_reference中文文档.pdf

    这一章探讨了 Hibernate 中关联关系的映射方式。 - **7.1 介绍**:简要介绍关联映射的基本概念。 - **7.2 单向关联 (Unidirectional associations)** - **7.2.1 多对一 (many-to-one)**:讲解多对一关联的映射。 ...

    HibernateAPI中文版.chm

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    最全Hibernate 参考文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    Hibernate3的帮助文档

    8.3. 使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. ...

    hibernate3.04中文文档.chm

    8.3. 使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. ...

    Hibernate教程

    8.3. 使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    hibernate 体系结构与配置 参考文档(html)

    使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    unidirectional-one2one-sharedprimarykey:该存储库正在存储有关Hibernate映射示例的源代码-共享主键上的单向一对一关联-one source code

    总结来说,这个示例旨在展示如何在Hibernate中使用单向一对一关联并共享主键,这对于Java开发者尤其是新手而言,是一个很好的学习资源,能够帮助他们理解和掌握ORM框架在处理复杂数据库关系时的技巧。通过实践和理解...

    Hibernate3+中文参考文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    Hibernate学习.pdf

    - **单向关联(UNIDIRECTIONAL ASSOCIATIONS)**: - **多对一(many-to-one)**: 实体间的多对一关系。 - **一对一(one-to-one)**: 实体间的一对一关系。 #### 7. 组件映射 - **组件映射**: 将Java对象中的某个...

    详解Hibernate一对一映射配置

    在Java持久化框架Hibernate中,一对一(One-to-One)映射是对象关系映射的一种常见方式,用于表示两个实体之间一对一的关系。这种关系通常出现在一个实体的实例只能与另一个实体的单个实例相关联的情况。下面我们将...

    hb_hibernate

    在Hibernate中,ORM主要体现在实体类(Entity)与数据库表之间的映射,以及实体对象与记录之间的映射。通过配置文件(如hibernate.cfg.xml)和注解,我们可以定义这些映射关系,使得对象的状态变化可以直接反映到...

    hibernate 框架详解

    使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. 双向...

Global site tag (gtag.js) - Google Analytics