最近在用
dwr
+spring+hibernate開發(fā)一個小的東東,其間需要對ORACLE的大數(shù)據(jù)類型CLOB字段進行插入操作,發(fā)現(xiàn)CLOB字段不像一般數(shù)據(jù)類型那么處理簡單。在查閱了許多資料后,終于找到了解決途經(jīng)。現(xiàn)把解決過程跟大家分享一下: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,跟一般數(shù)據(jù)類型一樣處理。
vn7DJ^f?c0
.`7n!x8O&J+y#g6p!^f1@0OK了!
f_+hh?Nj#W#y3|#]0是不是很簡單?之前一直在尋找hibernate 對CLOB的支持,試過很多方法后都沒有成功,后來發(fā)現(xiàn)spring竟然對LOB有很好的支持。
posted on 2008-09-04 15:10
lvq810 閱讀(483)
評論(0) 編輯 收藏 所屬分類:
Open Framekwork