1. 如果不存在对应的, 如mysql的mediumint是3字节, 则可以通过
<property name="uid">
<column name="uid" sql-type="mediumint" />
</property>
来指定

2. 如果你使用unsigned tinyint的话, 对应java类型为byte, 但是事实上你只能使用0-127的数字
如果由外部程序写入数据库, 写入的值超过127的话, hibernate读取映射的时候将产生exception


hibernate类型 | java类型 | 数据库类型 | 字节
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 实例中