Welcome 微信登录

首页 / 软件开发 / JAVA / Hibernate及JPA对象关系映射:关联关系映射策略

Hibernate及JPA对象关系映射:关联关系映射策略2013-09-14 IBM 王 汉敏关联关系映射

关联关系映射,是映射关系中比较复杂的一种映射关系,总的说来有一对一、一对多和多对多几种 关系。细分起来他们又有单向和双向之分。下面我们逐一介绍一下。

单向 OneToOne

单向一对一是关联关系 映射中最简单的一种,简单地说就是可以从关联的一方去查询另一方,却不能反向查询。我们用下面的例子来举例说明,清 单 1 中的 Person 实体类和清单 2 中的 Address 类就是这种单向的一对一关系,我们可以查询一个 Person 的对应的 Address 的内容,但是我们却不能由一个 Address 的值去查询这个值对应的 Person。

清单 1. 单向一对一关系的 拥有端

@Entity public class Person implements Serializable { private static final long serialVersionUID = 1L; @Id@GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; private int age; @OneToOne private Address address;//   Getters & Setters}
清单 2. 单向一对一关系的反端

@Entitypublic class Address implements Serializable {private static final long serialVersionUID = 1L;@Id @GeneratedValue(strategy = GenerationType.AUTO)private Long id;private String street;private String city; private String country; // Gettes& Setters }
图 1. 单向一对一关系对应的 ER 图