900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > oracle jpa字段加注释 JPA注释参考手册.doc

oracle jpa字段加注释 JPA注释参考手册.doc

时间:2020-07-01 20:27:36

相关推荐

oracle jpa字段加注释 JPA注释参考手册.doc

JPA注释参考手册

JPA注释参考手册(转)??

Table

Table用来定义entity主表的name,catalog,schema等属性。

元数据属性说明:

name: 表名

catalog: 对应关系数据库中的catalog

schema:对应关系数据库中的schema

UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列

@Entity

@Table(name="CUST")

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=@PrimaryKeyJoinColumn(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: 是否允许更新

columnDefinition: 定义建表时创建此列的DDL

secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字。

public class Person {

@Column(name = "PERSONNAME", unique = true, nullable = false, updatable = true)

private String name;

@Column(name = "PHOTO", columnDefinition = "BLOB NOT NULL", secondaryTable="PER_PHOTO")

privat

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。