再讲*.hbm.xml中的类型映射

  前边我们讲过了hbm.xml文件中的各个节点的具体的属性和用法,今天我们来讲一讲hbm.xml文件中一些特殊类型的映射规则。

  1.时间类型的映射规则

  在Java中表示时间和日期的类有java.util.Date和java.util.Calender。

  而JDBC的API中又提供了java.util.Date的三个子类:java.sql.Date  java.sql.Time  java.sql.Timestamp,这三个子类分别可以对应SQL数据库中的Date,Time,Timestamp这三种类型,所以我们在声明Java类的属性时只需要声明为java.util.Date就可以了。然后我们在hbm.xml文件中分别使用type=date,time,timestamp来进行和数据库中Date,Time,Timestamp的映射。

  2.Java大对象类型的Hibernate的映射规则

  ① Java中当使用java.lang.String或者java.sql.Clob表示的数据类型的属性时(内存超过255byte),我们在hbm.xml文件中使用text,clob分别映射数据库中的clob(oracle),text(mysql)类型的数据。

  ② 当Java中使用byte[]或者java.sql.Blob时,我们使在hbm.xml文件中使用binary,blob分别映射数据库中blob类型的数据。

  需要注意的是:

  实际上在处理长度超过255的字符串时,Java中使用java.lang.String比较实用。

  我们还可以在hbm.xml文件中精确指定SQL数据库与之对应的类型:<column name="" sql-type="mediublob">,因为在数据库中同一种类型还有具体的小的类型与之对应。

  我们在实际的应用开发中,并不会将一个文件(如图片或者TXT文档)通过Java的大对象存放到数据库中,因为这样很消耗数据库的内存,我们是通过在数据库中添加一个字段指向我们放在工程下的图片,除非这个文件很重要,我们才将他放在数据库中而不是放在工程之下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值