当前页面: 开发资料首页 → JSP 专题 → hibernate大对象问题
hibernate大对象问题
摘要: hibernate大对象问题
今天碰到大对象问题,网上一搜,碰到问题还真多,就是没个解决的方法,这个问题也算老问题了,希望高手来解答下,谢谢.
本人要写个往ORACLE里面插入大对象,第一次写,按照深入浅出上面来编,运行到这部报,类转换异常,请问应该怎么该?
oracle.sql.BLOB AFace = (oracle.sql.BLOB)mmr.getPicA();
你是oracle哪个版本,如果是10g的话,换成ojdbc14.jar这个驱动。然后就把大对象当成string处理就行了。
问问题先描述好自己问题所处的环境。
GOOD LUCK!!!
如果不能解决,就把hibernate版本、oracle版本、使用的驱动是什么?、你是怎么写的代码写详细,这样别人才能帮你!
我是OJDBC14
数据库版本是9i
HIBERNATE3,数据库9i,驱动ojdbc14.jar
代码大概也就这样,其他的没啥用
mmr.setMonthMonitorRecId(DBKeyFactory.getInstance().nextValue("T_MONTH_MONITOR_RECORD",1));
mmr.setMonitorUserId(Long.parseLong(us));
mmr.setPicA(Hibernate.createBlob(new byte[1]));
sess.save(mmr);
sess.flush();
sess.refresh(mmr,LockMode.UPGRADE);
oracle.sql.BLOB AFace = (oracle.sql.BLOB)mmr.getPicA();
oracle.sql.BLOB BFace = (oracle.sql.BLOB)mmr.getPicB();
public class OracleLob {
.................
private String clob;
.................
public String getClob() {
return clob;
}
public void setClob(String clob) {
this.clob = clob;
}
}
写入数据库:
....................
OracleLob lob = new OracleLob();
lob.setContent(content); //content是大文本字符串
....................
session.save(lob);
...................
这样试试。把hbm文件中的type改成text(hibernate的)。不行再想想别的办法。
这样就不用在类里进行转型了。直接当string处理了。只是需要改hbm的type。记得一定得用ojdbc14.jar
小脆。杀到这里来啦~~~
我旁观。你们公司用都开始玩Blob啦。晕死
靠,楼上的是哪个
好```我帮你顶一下```你就给我一分```记得你咯``````