【转】Hibernate配置文件中的映射元素---内置映射类型
Hibernate映射类型
在对象/关系映射文件中,Hibernate采用映射类型作为Java类型和SQL类型的桥梁。Hibernate映射类型分为2种:内置映射类型和自定义映射类型。
1、内置映射类型
Hibernate对所有的Java原生类型、常用的Java类型如String、Date等都定义了内置的映射类型。表2列出了Hibernate映射类型、对应的Java类型以及对应的标准SQL类型。
表2:Hibernate内置映射类型
?
Hibernate映射类型Java类型标准SQL类型大小integer/intjava.lang.Integer/intINTEGER4字节longjava.lang.Long/longBIGINT8字节shortjava.lang.Short/shortSMALLINT2字节bytejava.lang.Byte/byteTINYINT1字节floatjava.lang.Float/floatFLOAT4字节doublejava.lang.Double/doubleDOUBLE8字节big_decimaljava.math.BigDecimalNUMERIC?characterjava.lang.Character/java.lang.String/charCHAR(1)定长字符stringjava.lang.StringVARCHAR变长字符boolean/ yes_no/true_falsejava.lang.Boolean/BooleanBIT布尔类型datejava.util.Date/java.sql.DateDATE日期timestampjava.util.Date/java.util.TimestampTIMESTAMP日期calendarjava.util.CalendarTIMESTAMP日期calendar_datejava.util.CalendarDATE日期binarybyteBLOB?
BLOBtextjava.lang.StringTEXTCLOBserializable实现java.io.Serializablej接口的任意Java类BLOBBLOBclobjava.sql.ClobCLOBCLOBblobjava.sql.BlobBLOBBLOBclassjava.lang.ClassVARCHAR定长字符localejava.util.LocaleVARCHAR定长字符timezonejava.util.TimeZoneVARCHAR定长字符currencyjava.util.CurrencyVARCHAR定长字? ? 2、自定义映射类型
Hibernate提供了自定义映射类型接口,允许用户以编程的方式创建自定义的映射类型。用户自定义的映射类型需要实现net.sf.hibernate.UserType或net.sf.hibernate.CompositeUserType接口。具体的创建自定义映射类型的方法请参考hibernate官方文档或相关资料,这里不再详细介绍。
?