表4-4 3种数据类型之间的对应关系
Hibernate映射类型 |
Java类型 |
标准SQL类型 |
integer |
java.lang.Integer |
INTEGER |
long |
java.lang.Long |
BIGINT |
short |
java.lang.Short |
SMALLINT |
float |
java.lang.Float |
FLOAT |
double |
java.lang.Double |
DOUBLE |
big_decimal |
java.math.BigDecimal |
NUMERIC |
character |
java.lang.String |
CHAR(1) |
string |
java.lang.String |
VARCHAR |
byte |
byte或java.lang.Byte |
TINYINT |
boolean |
boolean或java.lang.Boolean |
BIT |
(续表)
Hibernate映射类型 |
Java类型 |
标准SQL类型 |
yes_no |
boolean或java.lang.Boolean |
CHAR(1)('Y'或'N') |
true_false |
boolean或java.lang.Boolean |
CHAR(1)('Y'或'N') |
date |
java.util.Date或java.sql.Date |
DATE |
time |
java.util.Date或java.sql.Time |
TIME |
timestamp |
java.util.Date或java.sql.Timestamp |
TIMESTAMP |
calendar |
java.util.Calendar |
TIMESTAMP |
calendar_date |
java.util.Calendar |
DATE |
binary |
byte[] |
VARBINARY或BLOB |
text |
java.lang.String |
CLOB |
serializable |
java.io.Serializable实例 |
VARBINARY或BLOB |
clob |
java.sql.Clob |
CLOB |
blob |
java.sql.Blob |
BLOB |
class |
java.lang.Class |
VARCHAR |
locale |
java.util.Locale |
VARCHAR |
timezone |
java.util.TimeZone |
VARCHAR |
currency |
java.util.Currency |
VARCHAR |
下面我们用实例演示上述映射数据类型的用法。
假如在MySQL数据库中有一张关系表datamap,如表4-5所示。
表4-5 datamap数据表
字 段 名 称 |
数 据 类 型 |
主 键 |
自 增 |
允 许 为 空 |
描 述 |
ID |
int(4) |
是 |
增1 |
ID号 |
|
MYBOOLEAN |
bit(1) |
√ |
逻辑型数据 |
||
MYINT |
int(5) |
√ |
整型数据 |
||
MYLONG |
bigint(11) |
√ |
长整型数据 |
||
MYFLOAT |
float(8,2) |
√ |
单精度浮点型数据 |
||
MYDOUBLE |
double(10,2) |
√ |
双精度浮点型数据 |
||
MYDECIMAL |
decimal(10,2) |
√ |
DECIMAL型数据 |
||
MYSTRING |
varchar(100) |
√ |
字符串数据 |
||
MYTEXT |
text |
√ |
Text型数据 |
||
MYDATE |
date |
√ |
Date型数据 |
||
MYTIME |
time |
√ |
Time型数据 |
||
MYDATETIME |
datetime |
√ |
Datetime型数据 |
||
MYTIMESTAMP |
timestamp |
√ |
Timestamp型数据 |
||
MYBINARY |
varbinary(10240) |
√ |
Binary型数据 |
||
MYBLOB |
longblob |
√ |
Blob型数据 |
来源:oschina
链接:https://my.oschina.net/u/242053/blog/55812