blob字段的Hibernate处理(DB2,Oracle)

 model:

 private byte[] argumentData;  //图片附件

 public byte[] getArgumentData() {
  return argumentData;
 }
 public void setArgumentData(byte[] argumentData) {
  this.argumentData = argumentData;
 }

hbm.xml映射文件:

    <property
   name="argumentData"
   column="argumentData"
   type="org.springframework.orm.hibernate3.support.BlobByteArrayType"
   lazy="true">
  </property>

 

 <!-- ORACLE处理lob的配置begin-->
 <!--

 <bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>
 <bean id="lobHandler" lazy-init="true"   class="org.springframework.jdbc.support.lob.OracleLobHandler">
         <property name="nativeJdbcExtractor">
             <ref bean="nativeJdbcExtractor"/>
         </property>
 </bean>
 -->
 <!-- ORACLE处理lob的配置end-->
 
 <!-- DB2处理lob的配置begin-->
 <bean id="DefaultLobHandler" lazy-init="true"  class="org.springframework.jdbc.support.lob.DefaultLobHandler">
 </bean>
 <!-- DB2处理lob的配置end-->

 

sessionFactory中相关的配置:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <!--<property name="configLocation" value="classpath:hibernate.cfg.xml" />  -->
  
   <!-- <property name="lobHandler" ref="lobHandler"/> -->  <!-- ORACLE处理lob的配置 -->
  <property name="lobHandler" ref="DefaultLobHandler"/>  <!-- DB2处理lob的配置 -->

。。。。。。。。。

 

把流直接set到对象的blob字段里,调dao保存对象,ok

 

 

你可能感兴趣的:(oracle,Hibernate,bean,db2,Class,byte)