(hibernate学习笔记系列来自于 “疯狂Java” Hibernate视频学习)
在*.hbm.xml文件中,
<property name="password" column="t_pass">,hibernate根据type转换将java转换成hibernate类型,然后再转换成SQL类型,<property name="password" type="..." column="t_pass">hibernate的内置类型通常使用和Java类型相同名字,它能够将Java基本类型,Java时间和日期类型,Java大对象类型和jdk常用的Java类型映射到相应的标准的SQL类型。
Java应用通过hibernate访问数据库,而hibernate又通过jdbc驱动程序访问数据库,jdbc对底层数据库SQL类型进行封装,向上提供标准的SQL类型接口,这样hibernate就可以根据底层数据库使用SQL方言,把标准SQL类型翻译成底层数据库类型
| Hibernate | Java类型 | 标准SQL类型 |
|---|---|---|
| integer/int | int/Integer | |
| long | long/Long | bigint |
| short | short/Short | smallint |
| byte | byte/Byte | tinyint |
| float | float/Float | float |
| double | double/Double | double |
| big_decimal | java.math.BigDecimal | numeric |
| character | char/Character | 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’) |
.hbm.xml文件中type写得是Hibernate中的类型
Java大对象类型的Hibernate映射类型
在Java中,java.lang.String可用于表示长字符串(长度没有限制),字节数组byte[]可用于存放图片或长文件的二进制数据。此外在JDBC API中又提供了java.sql.Clob和java.sql.Blob类型,分别对应标准SQL中的CLOB和BLOB类型对应
大对象配置表
| 映射类型 | Java类型 | 标准SQL类型 | 描述 |
|---|---|---|---|
| binary | byte[] | varbinary/blob | 存放二进制数 |
| text | String | clob | 字符串大对象 |
| serializable | serializable接口的类 | varbinary/blob | |
| clob | java.sql.Clob | clob | 字符串大对象 |
| blob | java.sql.Blob | blob | 二进制大对象 |
版权声明:本文为博主原创文章,未经博主允许不得转载。
hibernate学习笔记之四(Hibernate中的类型)
原文地址:http://blog.csdn.net/havedream_one/article/details/46710985