标识符生成器
|
描述
|
increment
|
适用于代理主键。由Hibernate自动以递增方式生成。
|
identity
|
适用于代理主键。由底层数据库生成标识符。
|
sequence
|
适用于代理主键。Hibernate根据底层数据库的序列生成标识符,这要求底层数据库支持序列。
|
hilo
|
适用于代理主键。Hibernate分局high/low算法生成标识符。
|
seqhilo
|
适用于代理主键。使用一个高/低位算法来高效的生成long,short或者int类型的标识符。
|
native
|
适用于代理主键。根据底层数据库对自动生成标识符的方式,自动选择identity、sequence或hilo。
|
uuid.hex
|
适用于代理主键。Hibernate采用128位的UUID算法生成标识符。
|
uuid.string
|
适用于代理主键。UUID被编码成一个16字符长的字符串。
|
assigned
|
适用于天然主键。由Java应用程序负责生成标识符。
|
foreign
|
适用于代理主键。使用另一个相关联的对象的标识符。
|
Hibernate映射类型
|
Java类型
|
标准SQL类型
|
大小
|
integer/int
|
java.lang.Integer/int
|
INTEGER
|
4字节
|
long
|
java.lang.Long/long
|
BIGINT
|
8字节
|
short
|
java.lang.Short/short
|
SMALLINT
|
2字节
|
byte
|
java.lang.Byte/byte
|
TINYINT
|
1字节
|
float
|
java.lang.Float/float
|
FLOAT
|
4字节
|
double
|
java.lang.Double/double
|
DOUBLE
|
8字节
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
|
character
|
java.lang.Character/java.lang.String/char
|
CHAR(1)
|
定长字符
|
string
|
java.lang.String
|
VARCHAR
|
变长字符
|
boolean/ yes_no/true_false
|
java.lang.Boolean/Boolean
|
BIT
|
布尔类型
|
date
|
java.util.Date/java.sql.Date
|
DATE
|
日期
|
timestamp
|
java.util.Date/java.util.Timestamp
|
TIMESTAMP
|
日期
|
calendar
|
java.util.Calendar
|
TIMESTAMP
|
日期
|
calendar_date
|
java.util.Calendar
|
DATE
|
日期
|
binary
|
byte[]
|
BLOB
|
BLOB
|
text
|
java.lang.String
|
TEXT
|
CLOB
|
serializable
|
实现java.io.Serializablej接口的任意Java类
|
BLOB
|
BLOB
|
clob
|
java.sql.Clob
|
CLOB
|
CLOB
|
blob
|
java.sql.Blob
|
BLOB
|
BLOB
|
class
|
java.lang.Class
|
VARCHAR
|
定长字符
|
locale
|
java.util.Locale
|
VARCHAR
|
定长字符
|
timezone
|
java.util.TimeZone
|
VARCHAR
|
定长字符
|
currency
|
java.util.Currency
|
VARCHAR
|
定长字符
|