Hibernate的基本映射数据类型是Java基本类型与标准SQL类型相互转换的桥梁,其关系如图4-7所示。
|
通过Hibernate的基本映射数据类型可以非常方便地将数据从一种形式转换成另一种形式,完成高质量的ORM任务。例如:
|
表4-4列出了这3种数据类型之间的对应关系。
表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型数据 |
参考地址:
本文详细介绍了Hibernate的基本映射数据类型,包括Java基本类型与标准SQL类型的对应关系,并通过实例演示了这些映射数据类型的使用方法。重点讨论了如何在数据库操作中高效转换数据形式,实现高质量的ORM任务。


1115

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



