1. 如果不存在对应的, 如mysql的mediumint是3字节, 则可以通过
<property name="uid">
<column name="uid" sql-type="mediumint" />
</property>
来指定
2. 如果你使用unsigned tinyint的话, 对应java类型为byte, 但是事实上你只能使用0-127的数字
如果由外部程序写入数据库, 写入的值超过127的话, hibernate读取映射的时候将产生exception
integer
或者
int
|
int
或者
java.lang.Integer
|
INTEGER
|
4
字节
|
long
|
long Long
|
BIGINT
|
8
字节
|
short
|
short Short
|
SMALLINT
|
2
字节
|
byte
|
byte Byte
|
TINYINT
|
1
字节
|
float
|
float Float
|
FLOAT
|
4
字节
|
double
|
double Double
|
DOUBLE
|
8
字节
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)8
位
|
character
|
char Character String
|
CHAR(1)
|
定长字符
|
string
|
String
|
VARCHAR
|
变长字符串
|
boolean
|
boolean Boolean
|
BIT
|
布尔类型
|
yes_no
|
boolean Boolean
|
CHAR(1) (Y-N)
|
布尔类型
|
true_false
|
boolean Boolean
|
CHAR(1) (T-F)
|
布尔类型
|
2
、
Java
时间和日期类型的
Hibernate
映射
映射类型
|
Java
类型
|
标准
SQL
类型
|
描述
|
date
|
util.Date
或者
sql.Date
|
DATE
|
YYYY-MM-DD
|
time
|
Date Time
|
TIME
|
HH:MM:SS
|
timestamp
|
Date Timestamp
|
TIMESTAMP
|
YYYYMMDDHHMMSS
|
calendar
|
calendar
|
TIMESTAMP
|
YYYYMMDDHHMMSS
|
calendar_date
|
calendar
|
DATE
|
YYYY-MM-DD
|
3
、
Java
大对象类型的
Hibernate
映射类型
映射类型
|
Java
类型
|
标准
SQL
类型
|
MySQL
类型
|
Oracle
类型
|
binary
|
byte[]
|
VARBINARY(
或
BLOB)
|
BLOB
|
BLOB
|
text
|
String
|
CLOB
|
TEXT
|
CLOB
|
serializable
|
Serializable
接口任意实现类
|
VARBINARY(
或
BLOB)
|
BLOB
|
BLOB
|
clob
|
java.sql.Clob
|
CLOB
|
TEXT
|
CLOB
|
blob
|
java.sql.Blob
|
BLOB
|
BLOB
|
BLOB
|
在程序中通过 Hibernate 来保存 java.sql.Clob 或者 java.sql.Blob 实例时,必须包含两个步骤:
在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或Clob 实例中
转载于:https://blog.51cto.com/xu20cn/191450