Oracle的一个数据表,字段content定义为BLOB类型,在MyEclipse中使用“Hiberante Reverse Engineering”生成一个*.hbm.xml的映射文件,为什么在生成的.hbm.xml的映射文件中content定义被变为:"java.lang.String"。有什么解决方法?

解决方案 »

  1.   

    用String就可以啊还要改成啥呀
      

  2.   

    谢谢楼上的回答。Oracle中有一个字段类型为BLOB,那我如何将文件存入到此BLOB中呢?
      

  3.   

    手动改下吧
    blob 应该对应binary
    clob 用string 应该是这样吧
      

  4.   

    我手动改了,不行丫。急急!能不能来个完整的代码。网上也有示例,但网上Hibernate生成的.hbm.xml的映射文件不完整。
      

  5.   

    type="char";
    OK,String也可以,都差不多
      

  6.   

    配置文件写成java.sql.Blob类型
    程序里这写:
    worker.setPhoto(Hibernate.createBlob(new byte[1]));
    SerializableBlob  sb = (SerializableBlob ) worker.getPhoto();
    java.sql.Blob wrapblob = sb.getWrappedBlob();
    oracle.sql.BLOB blob = (oracle.sql.BLOB) wrapblob;
     OutputStream out = blob.getBinaryOutputStream();   
     byte [] buf=new byte[(int)in.available()];
    这样就转成了字节数组了
      

  7.   

    <property name="fileContent">
                <column name="FILE_CONTENT" />
    </property>可以简化无须指定,formbean里FormFile,dao中获得流再存,
    搜一下网上很多代码参考,
      

  8.   

    我现在做这个项目中也有blob字段
    java中用 byte[] 
    xx.hbm.xml中 用 <property name="xx" type="binary" lazy="true">
      

  9.   

    http://iceland1986.blog128.fc2.com/blog-entry-3.html
    这个是我的BLOB处理例子,谢谢楼上