posts - 15,  comments - 8,  trackbacks - 0
最近在用dwr
+spring+hibernate开发一个小的东东,其间需要对ORACLE的大数据类型CLOB字段进行插入操作,发现CLOB字段不像一般数据类型那么处理简单。在查阅了许多资料后,终于找到了解决途经。现把解决过程跟大家分享一下:ITPUB个人空间 ^0s:tU9pV M
1.spring配置:
QnTq5x`j C0<bean id="nativeJdbcExtractor"
3~NY tl&TvZ0class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"ITPUB个人空间 Sf4pQF}}
  lazy-init="true" />ITPUB个人空间(_T BM E�X,xW ES U)B
<bean id="lobHandler"
`z`{[ Q&LSD1H:Np0  class="org.springframework.jdbc.support.lob.OracleLobHandler"ITPUB个人空间 x/C!zyCl_%Q-P
  lazy-init="true">ITPUB个人空间 fshAWJP:Q
  <property name="nativeJdbcExtractor">
L Z_;z4wq�~;y0   <ref local="nativeJdbcExtractor" />ITPUB个人空间.Wi_ hcZ.m/F
  </property>ITPUB个人空间(QB:?;^R b
</bean>

y'O�gK2D8gKX0
    <!-- Hibernate SessionFactory -->ITPUB个人空间#SRf7K(h^ mA
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">ITPUB个人空间H^7[I6kvB
        <property name="dataSource" ref="dataSource"/>
-}{Yd r hp&U0<property name="lobHandler" ref="lobHandler" />ITPUB个人空间jn }DJ%HH
  <property name="mappingDirectoryLocations">
7@ ns{4\4M%vy-aIF0   <list>ITPUB个人空间yb Z/C*t4r
    <value>classpath:/com/ffcs/crm/models</value>
K m(r X~$BTCF0   </list>ITPUB个人空间i#l8n�@#p`
  </property>
$^5Qd_grr$K0        <property name="hibernateProperties">
&vSp2VAZ$E:Q0            <props>
a+X+@7}NT/^O0                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
%g�Tbx-p4rMc,J3t0                <prop key="hibernate.query.substitutions">true 'Y', false 'N'</prop>
j3Nndu0                <prop key="hibernate.show_sql">true</prop>
E2b;]h@0                <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>ITPUB个人空间h/Ox ~ g,f
            </props>ITPUB个人空间+FT3oj4\
        </property>ITPUB个人空间.FQ z.Rz-k
    </bean>ITPUB个人空间/SZ%R3m*u g]6r
2.Hibernate映射文件配置:ITPUB个人空间/Hn&A ^ ZNY-kX
    <property
+i2|vf+ET)@(Hk0RD8o0        name="content"
7h2s.H }8^;O7T0        type="org.springframework.orm.hibernate3.support.ClobStringType"
PjR?4`N0        column="CONTENT"ITPUB个人空间T$HwP0NWkX
        length="4000"ITPUB个人空间 W�@q8ZI
    >ITPUB个人空间*BpN c7X$[ m
3.PO的seter/geter:
o q I^ih{0private String content;
&[g&p|7S0public String getContent() {
WB F�yM X8g0  return content;
lYP"E3\0}
%Mm&w)pl ?9P0public void setContent(String content) {ITPUB个人空间X{qqYz+~dr
  this.content = content;ITPUB个人空间lqj-xl%T$}
}ITPUB个人空间5]_'U lt Py7CnV U^
4.在service层我们就可以直接将VO的content直接set进PO就OK,跟一般数据类型一样处理。
vn7DJ^f�c0
.`7n!x8O&J+y#g6p!^f1@0OK了!
f_+h h�Nj#W#y3|#]0是不是很简单?之前一直在寻找hibernate 对CLOB的支持,试过很多方法后都没有成功,后来发现spring竟然对LOB有很好的支持。
posted on 2008-09-04 15:10 lvq810 阅读(470) 评论(0)  编辑  收藏 所属分类: Open Framekwork

只有注册用户登录后才能发表评论。


网站导航: