hibernate学习笔记之四(Hibernate中的类型)

(hibernate学习笔记系列来自于 “疯狂Java” Hibernate视频学习)

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中的类型

  • 时间和日期
    • date
    • time
    • timestamp
      默认
  • 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,数据类型)