精通Hibernate——Hibernate的映射类型

本文详细介绍了Hibernate的映射类型,包括内置映射类型和客户化映射类型。内置映射类型涵盖Java基本类型、时间和日期类型、大对象类型的SQL映射。客户化映射类型则允许通过实现UserType或CompositeUserType接口来自定义映射,以适应复杂需求。以Customer类为例,展示了如何将description属性映射到Oracle数据库的CLOB类型,以及如何通过PhoneUserType类实现自定义映射。
摘要由CSDN通过智能技术生成

Hibernate的映射类型分为两种,内置映射类型和客户化映射类型。
内置映射类型:负责把一些常见的java类型映射到相应的SQL类型
客户化映射类型:Hibernate允许用户实现UserType或CompositeUserType接口,来灵活定制客户化映射类型。客户化映射类型能够把用户定义的Java类型映射到数据库表的相应字段。
1、Hibernate内置的映射类型
1.1 Java基本的类型的Hibernate映射
int或integer——INTEGER
long——BIGINT
short——SMALLINT
byte——TINYINT
float——FLOAT
double——DOUBLE
big_decimal——NUMBERIC
character——CHAR
string——VARCHAR
boolean——BIT
1.2 Java时间和日期类型的Hibernate映射类型
date——DATE
time——TIME
timestamp——TIMESTAMP
calender—— TIMESTAMP
calender_date——DATE
1.2 Java大对象类型的Hibernate映射类型
binary——BLOB(Mysql)、BLOB(Oracle)
text——TEXT(Mysql)、CLOB(Oracle)
serializable——TEXT(Mysql)、CLOB(Oracle)
blob——BLOB(Mysql)、BLOB(Oracle)
假定Customer类的description属性为Java.sql.Clob类型,在Oracle数据库中的CUSTOMERS表的DESCRIPTION字段为CLOB类型,Customer.hbm.xml如下:

 <property name="description" type="clob" column="DESCRIPTION" />
在应用程序中通过Hibernate来保存java.sql.Clob或java.sql.Blob实例时,必须包含两个步骤:
1.在数据库事务中先保存一个空的Clob或者Blob实例
2.接着锁定这条记录,更新步骤1中保存的Blob或Clob实例,把二进制数据或文本数据写到Blob或Clob实例中。例如:
    Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    customer = new Customer();
    customer.setDescription(Hibernate.createClob
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值