
sf.database.meta.def.ColumnDef Maven / Gradle / Ivy
Show all versions of sorm Show documentation
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;
}
}