爱问知识人 爱问教育 医院库

hibernate操作oracle的blob字段要注意什么?

首页

hibernate操作oracle的blob字段要注意什么?

hibernate操作oracle的blob字段要注意什么?

提交回答

全部答案

    2017-07-28 11:28:23
  •   1。 Bolb类型字段说明:
    写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢?
    这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作,你就获得了blob的cursor,可以真正的写入blob数据了。
       2。 获取游标存在的问题: 因为我使用的是weblogic配置的数据源,weblogic做了一些封装,返回来的blob的是 weblogic。jdbc。wrapper。Blob对象,不能直接转化为oracle的JDBC的oracleBlob,否则产生转型异常Cast Exception: 代码示例: //PO:CardSuitInfo public class CardSuitInfo implements Serializable 。
      。。{ private java。sql。Blob cardFacePicFile; public void setCardFacePicFile(Blob cardFacePicFile) 。。。{ this。cardFacePicFile = cardFacePicFile; } public java。
      sql。Blob getCardFacePicFile() 。。。{ return this。cardFacePicFile; } } //1。首先插入空的blob cardSuitInfo。setCardFacePicFile(net。
      sf。hibernate。Hibernate。createBlob(new byte[1])); session。save(cardSuitInfo); session。flush(); //2。写入blob session。refresh(cardSuitInfo, LockMode。
      UPGRADE);// 设置锁定级别 weblogic。jdbc。wrapper。Blob weblogicBlob = (weblogic。jdbc。wrapper。Blob) cardSuitInfo。getCardFacePicFile(); oracle。
      sql。BLOB oracleBlob = (oracle。sql。BLOB) weblogicBlob。getVendorObj(); OutputStream out = oracleBlob。getBinaryOutputStream(); byte[] buffer = cardSuitInfoView。
      getCardFacePicFileBody(); out。write(buffer, 0, buffer。length); out。close(); session。save(cardSuitInfo);。

    z***

    2017-07-28 11:28:23

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):