WEB开发网
开发学院软件开发Java 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 4 部... 阅读

使用 Apache OpenJPA 开发 EJB 3.0 应用,第 4 部分: 实体关联

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 为了说明实体之间的一对一关系,我们将书设计成一个类(Book),使用 Apache OpenJPA 开发 EJB 3.0 应用,第 4 部分: 实体关联(2),包括书的编号和名称两个属性,同时将书的前言设计成另外一个类(BookExtend),如果没有为该属性设置值,OpenJPA 容器默认 t

为了说明实体之间的一对一关系,我们将书设计成一个类(Book),包括书的编号和名称两个属性,同时将书的前言设计成另外一个类(BookExtend),它包括书的编号和前言两个属性。由于一本书有前言而且也不可能有其它书的前言部分会和它一样,所以类 Book 和 BookExtend 之间很自然的形成了一对一的关系。这两个类的属性以及类之间的关系如下图所示。

图 2. 类之间的一对一关系
使用 Apache OpenJPA 开发 EJB 3.0 应用,第 4 部分: 实体关联

[注]:为了说明的简单,本例子设计时每个对象只选择了必要的属性。

描述一对一关系

在 OpenJPA 中,开发者用来描述实体之间一对一关系时可选择的注释包括 javax.persistence.OneToOne 和 javax.persistence.JoinColumn。其中 javax.persistence.OneToOne 注释是必须使用的,它被用来声明类和类之间存在着一对一关系,javax.persistence.JoinColumn 注释是可选的,开发者使用 JoinColumn 注释来声明两个类在数据库中对应的表之间关联时的细节,包括主表中关联字段的名称、从表中使用什么字段来进行关联等。

javax.persistence.OneToOne

javax.persistence.OneToOne 注释支持如下 5 个属性,它们可以被开发者用来定义实体和实体之间一对一关联关系的细节内容。

target Entity

targetEntity 属性是 Class 类型的属性。定义实体一对一关系中处于从属地位的实体类的类型。如果没有为该属性设置值,OpenJPA 容器默认 targetEntity 属性的值是该成员属性对应的类类型,所以实体关系定义时通常不需要为 targetEntity 属性设置值。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 Apache OpenJPA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接