读书人

Hibernate照射类型

发布时间: 2012-08-29 08:40:14 作者: rapoo

Hibernate映射类型
Hibernate映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的Java类型映射到相应的SQL类型;此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的Java类型映射到数据库表的相应字段。

一、Hibernate的内置映射类型

1、Java基本类型的Hibernate映射类型

Hibernate映射类型Java类型标准SQL类型大小和取值范围integer或者intint或者java.lang.IntegerINTEGER4字节longlong LongBIGINT8字节shortshort ShortSMALLINT2字节bytebyte ByteTINYINT1字节floatfloat FloatFLOAT4字节doubledouble DoubleDOUBLE8字节big_decimaljava.math.BigDecimalNUMERICNUMERIC(8,2)8位characterchar Character StringCHAR(1)定长字符stringStringVARCHAR变长字符串booleanboolean BooleanBIT布尔类型yes_noboolean BooleanCHAR(1) (Y-N)布尔类型true_falseboolean BooleanCHAR(1) (T-F)布尔类型


2、Java时间和日期类型的Hibernate映射
映射类型Java类型标准SQL类型描述dateutil.Date或者sql.DateDATEYYYY-MM-DDtimeDate TimeTIMEHH:MM:SStimestampDate TimestampTIMESTAMPYYYYMMDDHHMMSScalendarcalendarTIMESTAMPYYYYMMDDHHMMSScalendar_datecalendarDATEYYYY-MM-DD

3、Java大对象类型的Hibernate映射类型
映射类型Java类型标准SQL类型MySQL类型Oracle类型binarybyte[]VARBINARY(或BLOB)BLOBBLOBtextStringCLOBTEXTCLOBserializableSerializable接口任意实现类VARBINARY(或BLOB)BLOBBLOBclobjava.sql.ClobCLOBTEXTCLOBblobjava.sql.BlobBLOBBLOBBLOB
在程序中通过Hibernate来保存java.sql.Clob或者java.sql.Blob实例时,必须包含两个步骤:

l 在一个数据库事务中先保存一个空的Blob或Clob实例。

l 接着锁定这条记录,更新上面保存的Blob或Clob实例,把二进制数据或文本数据写到Blob或Clob实例中。

读书人网 >软件架构设计

热点推荐