没有合适的资源?快使用搜索试试~ 我知道了~
java程序使用JPA注解详解
需积分: 50 9 下载量 155 浏览量
2011-08-15
22:17:13
上传
评论
收藏 80KB DOC 举报
温馨提示


试读
13页
java程序使用JPA注解详解 JPA注解详解 java 程序使用 JPA注解 详解
资源详情
资源评论
资源推荐

JPA 注解
Table
Table 用来定义 entity 主表的 name,catalog,schema 等属性。
元数据属性说明:
name: 表名,默认为类名
catalog: 对应关系数据库中的 catalog
schema:对应关系数据库中的 schema
UniqueConstraints:定义一个 UniqueConstraint 数组,指定需要建
唯一约束的列
@Entity
@Table(name="customer")
public class Customer { ... }
SecondaryTable
一个 entity class 可以映射到多表,SecondaryTable 用来定义单个从表的名
字,主键名字等属性。
元数据属性说明:
name: 表名
catalog: 对应关系数据库中的 catalog
schema:对应关系数据库中的 schema
pkJoin: 定义一个 PrimaryKeyJoinColumn 数组,指定从表的主键列
UniqueConstraints:定义一个 UniqueConstraint 数组,指定需要建
唯一约束的列
下面的代码说明 Customer 类映射到两个表,主表名是 CUSTOMER,从表名
是 CUST_DETAIL,从表的主键列和主表的主键列类型相同,列名为
CUST_ID。
@Entity
@Table(name="CUSTOMER")
@SecondaryTable(name="CUST_DETAIL",pkJoin=@PrimaryKeyJoinC

olumn(name="CUST_ID"))
public class Customer { ... }
SecondaryTables
当一个 entity class 映射到一个主表和多个从表时,用 SecondaryTables 来
定义各个从表的属性。
元数据属性说明:
value: 定义一个 SecondaryTable 数组,指定每个从表的属性。
@Table(name = "CUSTOMER")
@SecondaryTables( value = {
@SecondaryTable(name = "CUST_NAME", pkJoin =
{ @PrimaryKeyJoinColumn(name = "STMO_ID",
referencedColumnName = "id") }),
@SecondaryTable(name = "CUST_ADDRESS", pkJoin =
{ @PrimaryKeyJoinColumn(name = "STMO_ID",
referencedColumnName = "id") })
}
)
public class Customer {}
UniqueConstraint
UniqueConstraint 定义在 Table 或 SecondaryTable 元数据里,用来指定建
表时需要建唯一约束的列。
元数据属性说明:
columnNames:定义一个字符串数组,指定要建唯一约束的列名。
@Entity
@Table(name="EMPLOYEE",
uniqueConstraints={@UniqueConstraint(columnNames={"EMP_ID",
"EMP_NAME"})}
)
public class Employee { ... }

Column
Column 元数据定义了映射到数据库的列的所有属性:列名,是否唯一,是否
允许为空,是否允许更新等。
元数据属性说明:
name:列名。
unique: 是否唯一
nullable: 是否允许为空
insertable: 是否允许插入
updatable: 是否允许更新
columnDe4nition: 定义建表时创建此列的 DDL
secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),
该属性定义该列所在从表的名字。
public class Person {
@Column(name = "PERSONNAME", unique = true, nullable =
false, updatable = true)
private String name;
@Column(name = "PHOTO", columnDe4nition = "BLOB NOT
NULL", secondaryTable="PER_PHOTO")
private byte[] picture;
JoinColumn
如果在 entity class 的 4eld 上定义了关系(one2one 或 one2many 等),
我们通过 JoinColumn 来定义关系的属性。JoinColumn 的大部分属性和
Column 类似。
元数据属性说明:
name:列名。
referencedColumnName:该列指向列的列名(建表时该列作为外键列
指向关系另一端的指定列)
unique: 是否唯一
nullable: 是否允许为空
insertable: 是否允许插入
updatable: 是否允许更新
columnDe4nition: 定义建表时创建此列的 DDL
剩余12页未读,继续阅读


















_Fighter
- 粉丝: 22
- 资源: 59
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制

评论0