Hibernate的映射类型

本文详细介绍了Hibernate如何映射各种Java基本类型、时间日期类型及大对象类型到数据库中的过程。包括不同字节长度整数类型的具体映射方式,特别强调了tinyint等特殊类型的注意事项。同时覆盖了Java日期时间类型与标准SQL类型的映射规则,以及二进制和文本大对象类型的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 如果不存在对应的, 如mysql的mediumint是3字节, 则可以通过
<property name="uid">
<column name="uid" sql-type="mediumint" />
</property>
来指定

2.如果你使用unsigned tinyint的话, 对应java类型为byte, 但是事实上你只能使用0-127的数字
如果由外部程序写入数据库, 写入的值超过127的话, hibernate读取映射的时候将产生exception


hibernate类型 | java类型 | 数据库类型 | 字节
integer或者int
int或者java.lang.Integer
INTEGER
4字节
long
longLong
BIGINT
8字节
short
shortShort
SMALLINT
2字节
byte
byteByte
TINYINT
1字节
float
floatFloat
FLOAT
4字节
double
doubleDouble
DOUBLE
8字节
big_decimal
java.math.BigDecimal
NUMERIC
NUMERIC(8,2)8位
character
charCharacterString
CHAR(1)
定长字符
string
String
VARCHAR
变长字符串
boolean
booleanBoolean
BIT
布尔类型
yes_no
booleanBoolean
CHAR(1) (Y-N)
布尔类型
true_false
booleanBoolean
CHAR(1) (T-F)
布尔类型
2Java时间和日期类型的Hibernate映射
映射类型
Java类型
标准SQL类型
描述
date
util.Date或者sql.Date
DATE
YYYY-MM-DD
time
DateTime
TIME
HH:MM:SS
timestamp
DateTimestamp
TIMESTAMP
YYYYMMDDHHMMSS
calendar
calendar
TIMESTAMP
YYYYMMDDHHMMSS
calendar_date
calendar
DATE
YYYY-MM-DD
3Java大对象类型的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 实例时,必须包含两个步骤:
在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或Clob 实例中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值