javax.persistence

## 注释类型 Column

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

  Specifies the mapped column for a persistent property or field. If no `Column` annotation is specified, the default values apply.

  >         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; }

  从以下版本开始:
    Java Persistence 1.0

- - ### 可选元素概要

    可选元素
    限定符和类型 | 可选元素和说明
    --- | ---
    `java.lang.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.
    `java.lang.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.
    `java.lang.String` | `table` (Optional) The name of the table that contains the column.
    `boolean` | `unique` (Optional) Whether the column is a unique key.
    `boolean` | `updatable` (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.

- - ### 元素详细资料

    - #### name

          public abstract java.lang.String name

      (Optional) The name of the column. Defaults to the property or field name.
      返回:
        String
      默认值:
        ""

  - - #### unique

          public abstract boolean unique

      (Optional) Whether the column 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 corresponds to only a single column. This constraint applies in addition to any constraint entailed by primary key mapping and to constraints specified at the table level.
      返回:
        boolean
      默认值:
        false

  - - #### nullable

          public abstract boolean nullable

      (Optional) Whether the database column is nullable.
      返回:
        boolean
      默认值:
        true

  - - #### insertable

          public abstract boolean insertable

      (Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.
      返回:
        boolean
      默认值:
        true

  - - #### updatable

          public abstract boolean updatable

      (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.
      返回:
        boolean
      默认值:
        true

  - - #### columnDefinition

          public abstract java.lang.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.

      返回:
        String
      默认值:
        ""

  - - #### table

          public abstract java.lang.String table

      (Optional) The name of the table that contains the column. If absent the column is assumed to be in the primary table.
      返回:
        String
      默认值:
        ""

  - - #### length

          public abstract int length

      (Optional) The column length. (Applies only if a string-valued column is used.)
      返回:
        int
      默认值:
        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.
      返回:
        int
      默认值:
        0

  - - #### scale

          public abstract int scale

      (Optional) The scale for a decimal (exact numeric) column. (Applies only if a decimal column is used.)
      返回:
        int
      默认值:
        0