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

sf.database.meta.def.ColumnDef Maven / Gradle / Ivy

The newest version!
package sf.database.meta.def;

import javax.persistence.Column;

/**
 * 列定义,解析Column字段
 */
public class ColumnDef {

    //Column

    /**
     * (Optional) The name of the column. Defaults to
     * the property or field name.
     */
    String name = "";

    /**
     * (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 = false;

    /**
     * (Optional) Whether the database column is nullable.
     */
    boolean nullable = true;

    /**
     * (Optional) Whether the column is included in SQL INSERT
     * statements generated by the persistence provider.
     */
    boolean insertable = true;

    /**
     * (Optional) Whether the column is included in SQL UPDATE
     * statements generated by the persistence provider.
     */
    boolean updatable = true;

    /**
     * (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 = ""; /** * field comment */ String comment; /** * (Optional) The name of the table that contains the column. * If absent the column is assumed to be in the primary table. */ String table = ""; /** * (Optional) The column length. (Applies only if a * string-valued column is used.) */ int length = 255; /** * (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 = 0; /** * (Optional) The scale for a decimal (exact numeric) column. * (Applies only if a decimal column is used.) */ int scale = 0; public ColumnDef() { } public ColumnDef(Column c) { this.name = c.name(); this.unique = c.unique(); this.nullable = c.nullable(); this.insertable = c.insertable(); this.updatable = c.updatable(); this.columnDefinition = c.columnDefinition(); this.table = c.table(); this.length = c.length(); this.precision = c.precision(); this.scale = c.scale(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isUnique() { return unique; } public void setUnique(boolean unique) { this.unique = unique; } public boolean isNullable() { return nullable; } public void setNullable(boolean nullable) { this.nullable = nullable; } public boolean isInsertable() { return insertable; } public void setInsertable(boolean insertable) { this.insertable = insertable; } public boolean isUpdatable() { return updatable; } public void setUpdatable(boolean updatable) { this.updatable = updatable; } public String getColumnDefinition() { return columnDefinition; } public void setColumnDefinition(String columnDefinition) { this.columnDefinition = columnDefinition; } public String getTable() { return table; } public void setTable(String table) { this.table = table; } public int getLength() { return length; } public void setLength(int length) { this.length = length; } public int getPrecision() { return precision; } public void setPrecision(int precision) { this.precision = precision; } public int getScale() { return scale; } public void setScale(int scale) { this.scale = scale; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy