Skip to content

Column

java
@Target({METHOD,FIELD})
@Retention(RUNTIME)
public @interface Column

指定持久属性或字段所映射的列。如果未指定 @Column 注解,则应用默认值。

示例 1:

java
@Column(name="DESC", nullable=false, length=512)
public String getDescription() { return description; }

示例 2:

java
@Column(name="DESC",
        columnDefinition="CLOB NOT NULL",
        table="EMP_DETAIL")
@Lob
public String getDescription() { return description; }

示例 3:

java
@Column(name="ORDER_COST", updatable=false, precision=12, scale=2)
public BigDecimal getCost() { return cost; }

元素详细信息

name

java
String name

(可选)列的名称。默认为属性或字段的名称。

默认值:""

unique

java
boolean unique

(可选)指定该列是否为唯一键。这是在表级别使用 UniqueConstraint 注解的快捷方式,当唯一键约束仅涉及单个列时非常有用。此约束是对主键映射和表级别指定的约束的补充。

默认值false

nullable

java
boolean nullable

(可选)指定数据库列是否允许为 NULL。默认值为 true,表示列可以包含 NULL 值。

默认值true

insertable

java
boolean insertable

(可选)指定该列是否包含在持久化提供商生成的 SQL INSERT 语句中。默认值为 true,表示该列将包含在 INSERT 语句中。

默认值true

updatable

java
boolean updatable

(可选)指定该列是否包含在持久化提供商生成的 SQL UPDATE 语句中。默认值为 true,表示该列将包含在 UPDATE 语句中。

默认值true

columnDefinition

java
String columnDefinition

(可选)用于生成列的 DDL 时的 SQL 片段。默认为生成用于创建推断类型的列的 SQL。

默认值:""

table

java
String table

(可选)包含该列的表的名称。如果未指定,则假定该列位于主表中。

默认值:""

length

java
int length

(可选)指定列的长度。仅适用于字符串类型的列。

默认值:255

precision

java
int precision

(可选)用于十进制(精确数值)列的精度。仅在使用十进制列时适用。开发者在生成列的 DDL 时必须设置此值。

默认值:0

scale

java
int scale

(可选)用于十进制(精确数值)列的小数位数。仅在使用十进制列时适用。开发者在生成列的 DDL 时必须设置此值。

默认值:0