The database adapter associated with this column definition, which may or may not be set.
The database adapter associated with this column definition, which may or may not be set.
The column's name, which may or may not be set.
The column's name, which may or may not be set.
得到注释
The database adapter associated with this column definition.
The database adapter associated with this column definition.
the database adapter associated with this column definition
java.util.NoSuchElementException
if the database adapter
has not been associated with this column definition
Get the column's name.
Get the column's name.
the column name
java.util.NoSuchElementException
if the column name has
not been set
Get the table name the column is defined in.
Get the table name the column is defined in.
the table name the column is defined in
java.util.NoSuchElementException
if the table name has
not been set
Called after the above properties have been wired.
Called after the above properties have been wired.
If AutoIncrement is specified for the column.
If AutoIncrement is specified for the column.
Get the limit for the column.
Get the limit for the column.
Given the SQL for a column data type, return it with the LIMIT syntax appended if a limit is specified on the column definition instance, otherwise return SQL unmodified.
Given the SQL for a column data type, return it with the LIMIT syntax appended if a limit is specified on the column definition instance, otherwise return SQL unmodified.
the column type name
the column type name with the limit syntax if the column definition specifies a limit
Given the SQL for a column data type, return it with the LIMIT syntax appended if a limit is given, otherwise return SQL unmodified.
Given the SQL for a column data type, return it with the LIMIT syntax appended if a limit is given, otherwise return SQL unmodified.
the column type name
optional column limit
the column type name with the limit syntax if a limit was given
Column options.
Column options.
Get the precision for the column.
Get the precision for the column.
Get the scale for the column.
Get the scale for the column.
The table name the column is defined in, which may or may not be set.
The table name the column is defined in, which may or may not be set.
Map the BIGINT SQL type to a NUMBER(19, 0).
A few other databases, such as Derby, MySQL and PostgreSQL, treat BIGINT as a 8-byte signed integer type. On Oracle a NUMBER(19, 0) is large enough to store any integers from -9223372036854775808 to 9223372036854775807 but not any integers with more digits. A NUMBER(19, 0) does allow a larger range of values than the other databases, from -9999999999999999999 to 9999999999999999999, but this seems like an acceptable solution without using a CHECK constraint.
This behavior is different than Oracle's default. If a column is defined using "INTEGER" and not a "NUMBER", Oracle uses a NUMBER(38) to store it:
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements001.htm#sthref218
Using a NUMBER(19, 0) helps ensure the compatibility of any code running against an Oracle database so that is does not assume it can use 38-digit integer values in case the data needs to be exported to another database or if the code needs to work with other databases. Columns wishing to use a NUMBER(38) should use a DecimalType column.