Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## javax.persistence
Annotation Type Column

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

Is used to specify a mapped column for a persistent property or field. If no Column annotation is specified, the default values are applied.

Examples:

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

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

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

Since:
  Java Persistence 1.0

Optional Element Summary
`String` | `columnDefinition` (Optional) The SQL fragment that is used when generating the DDL for the column.
`boolean` | `insertable` (Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.
`int` | `length` (Optional) The column length.
`String` | `name` (Optional) The name of the column.
`boolean` | `nullable` (Optional) Whether the database column is nullable.
`int` | `precision` (Optional) The precision for a decimal (exact numeric) column.
`int` | `scale` (Optional) The scale for a decimal (exact numeric) column.
`String` | `table` (Optional) The name of the table that contains the column.
`boolean` | `unique` (Optional) Whether the property is a unique key.
`boolean` | `updatable` (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.

### name

    public abstract String name

  (Optional) The name of the column. Defaults to the property or field name.

  Default:
    ""

### unique

    public abstract boolean unique

  (Optional) Whether the property is a unique key. This is a shortcut for the UniqueConstraint annotation at the table level and is useful for when the unique key constraint is only a single field. This constraint applies in addition to any constraint entailed by primary key mapping and to constraints specified at the table level.

  Default:
    false

### nullable

    public abstract boolean nullable

  (Optional) Whether the database column is nullable.

  Default:
    true

### insertable

    public abstract boolean insertable

  (Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.

  Default:
    true

### updatable

    public abstract boolean updatable

  (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.

  Default:
    true

### columnDefinition

    public abstract String columnDefinition

  (Optional) The SQL fragment that is used when generating the DDL for the column.

  Defaults to the generated SQL to create a column of the inferred type.

  Default:
    ""

### table

    public abstract String table

  (Optional) The name of the table that contains the column. If absent the column is assumed to be in the primary table.

  Default:
    ""

### length

    public abstract int length

  (Optional) The column length. (Applies only if a string-valued column is used.)

  Default:
    255

### precision

    public abstract int precision

  (Optional) The precision for a decimal (exact numeric) column. (Applies only if a decimal column is used.) Value must be set by developer if used when generating the DDL for the column.

  Default:
    0

### scale

    public abstract int scale

  (Optional) The scale for a decimal (exact numeric) column. (Applies only if a decimal column is used.)

  Default:
    0

Overview | Package | Class | Tree | Deprecated | Index | Help
| Java EE 5 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.