| java类型 | Hibernate映射类型 | SQL类型 |
| java.math.BigDecimal | big_decimal | numeric |
| byte[] | binary | varbinary(blob) |
| boolean(java.lang.Boolean) | boolean | bit |
| byte(java.lang.Byte) | byte | tinyint |
| java.util.Calendar | calendar | timestamp |
| java.sql.Clob | clob | clob |
| java.util.Date 或java.sql.Date | date | date |
| double(java.lang.Double) | double | double |
| float(java.lang.Float) | float | float |
| int (java.lang.Integer) | integer | integer |
| java.util.Local | local | varchar |
| long(java.lang.Long) | long | bigint |
| java.io.Serializable的某个实例 | serializable | varbinary(或blob) |
| java.lang.String | string | varchar |
| java.lang.String | text | clob |
| java.util.Date 或 java.sql.Timestamp | time | timestamp |
从书上把这个表抄下来方便以后查阅.
考虑到 操作 blob 的字段太复杂 一个变换的技巧是 . 实体类用 byte[] 类型 , hibernate 类型用 binary ,数据库还是用 blob .这样 可以简化一些操作.
Hibernate的映射类型 hibernate mysql映射类型
|
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 实例时,必须包含两个步骤:
l 在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
l 接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中
1695

被折叠的 条评论
为什么被折叠?



