最近在用
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,xWES 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:?;^Rb
</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 rhp&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>
Km(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个人空间.FQz.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]_'Ult Py7CnV U^
4.在service层我们就可以直接将VO的content直接set进PO就OK,跟一般数据类型一样处理。
vn7DJ^f�c0
.`7n!x8O&J+y#g6p!^f1@0OK了!
f_+hh�Nj#W#y3|#]0是不是很简单?之前一直在寻找hibernate 对CLOB的支持,试过很多方法后都没有成功,后来发现spring竟然对LOB有很好的支持。
posted on 2008-09-04 15:10
lvq810 阅读(470)
评论(0) 编辑 收藏 所属分类:
Open Framekwork