All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.persistence.Column Maven / Gradle / Ivy

package javax.persistence;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Is used to specify 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; }
 * 
 * 
* *
* * * @since Java Persistence 1.0 */ @Target({ METHOD, FIELD }) @Retention(RUNTIME) public @interface Column { /** * (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 columnDefinition() default ""; /** * (Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider. */ boolean insertable() default true; /** * (Optional) The column length. (Applies only if a string-valued column is used.) */ int length() default 255; /** * (Optional) The name of the column. Defaults to the property or field name. */ String name() default ""; /** * (Optional) Whether the database column is nullable. */ boolean nullable() default true; /** * (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 precision() default 0; /** * (Optional) The scale for a decimal (exact numeric) column. (Applies only if a decimal column is used.) */ int scale() default 0; /** * (Optional) The name of the table that contains the column. If absent the column is assumed to be in the primary table. */ String table() default ""; /** * (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 unique() default false; /** * (Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider. */ boolean updatable() default true; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy