关于Clob存储xml报文解决方案
最近项目中需要存储报文信息,拿到的报文是字符串形式,从网上找了一大圈,才找到了一种方法。操作如下:
一、数据库中设计表字段类型
在oracle中,存储超大文件有两种存储方式,一种是BLOB类型,这种适合存储二进制流类型文件的。一种是CLOB类型,这种一般是用来保存大文本字段。在项目中存储的是xml字符串类型,所以选择CLOB类型。
二、在hibernate映射文件中设置
在xxx.hbm.xml文件中,把对应的clob类型字段设置成text类型,即如:
<property name = "xxx" type="text"/>
三、后台代码保存
Student s = new Student();
//假设name属性为clob类型
s.setName("要保存的超大字符串xml文本信息");
//这里用hibernate中的save方法保存就行
session.save(s);
这样就会保存成功,并且可以在数据库中查看到具体的xml报文信息。