欢迎您的到来!本空间用来记录日常工作心得和一些小经验.内容可能部分摘自您的辛苦创作,再次对您表示感谢.希望本空间能给您或者其他朋友一些帮助. PS:寻求福州ORACLE DBA工作,期待您的惠顾(kugooo@live.cn)

关于spring+hibernate处理CLOB字段问题

上一篇 / 下一篇  2008-02-03 00:19:11 / 个人分类:Hibernate

最近在用dwr+spring+hibernate开发一个小的东东,其间需要对ORACLE的大数据类型CLOB字段进行插入操作,发现CLOB字段不像一般数据类型那么处理简单。在查阅了许多资料后,终于找到了解决途经。现把解决过程跟大家分享一下:ITPUB个人空间2\`c/i I.w
1.spring配置:
-L0v-NV$H[ ^pi sc.F0<bean id="nativeJdbcExtractor"ITPUB个人空间xs+d7XS(@&_$Y&m
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"ITPUB个人空间$u.GG(RV8qo
  lazy-init="true" />ITPUB个人空间t5zoL?2t1fW
<bean id="lobHandler"ITPUB个人空间9UKxNK6f
  class="org.springframework.jdbc.support.lob.OracleLobHandler"
k\ ?PwF2H0  lazy-init="true">
a$JXL5D wg m{0  <property name="nativeJdbcExtractor">
9} c vql0   <ref local="nativeJdbcExtractor" />
k3b1Z:f? u-L^[b0  </property>
4gGTu ZTKh0</bean>
ITPUB个人空间 JcaXRXR
    <!-- Hibernate SessionFactory -->
8z0xFH/c,g5r0    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">ITPUB个人空间6s ]!Y.[ U4i
        <property name="dataSource" ref="dataSource"/>
8?:g)_o$??C0<property name="lobHandler" ref="lobHandler" />
d3d"U h*vO%w#p9S | @0  <property name="mappingDirectoryLocations">
v;QKml2C C OLD0   <list>
F'PL:h#P N6DM0    <value>classpath:/com/ffcs/crm/models</value>
? W6]LGnK|5`0   </list>ITPUB个人空间0_`~QS3Z6K
  </property>ITPUB个人空间 }#MC_,h ] P
        <property name="hibernateProperties">
7w5R5fl8{9p0            <props>ITPUB个人空间)IZWq/v6a Vyc
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
h pS2RX0                <prop key="hibernate.query.substitutions">true 'Y', false 'N'</prop>
tk6c|qsX#m1?,QwT0                <prop key="hibernate.show_sql">true</prop>ITPUB个人空间,{:k9rX.H.j
                <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>ITPUB个人空间c L Q9c)a3@p/n
            </props>
x0G~c1miKfh0        </property>
md\DjLf lg`Z0    </bean>ITPUB个人空间 NK,|d#u,ZU
2.Hibernate映射文件配置:
H}m5yET?E0    <property
dA9]9P&XX9WA oZ R0        name="content"ITPUB个人空间w9[9em'p4d
        type="org.springframework.orm.hibernate3.support.ClobStringType"
H-U,k7tNL W[q)N0        column="CONTENT"
t1X u$od-xK6U0        length="4000"ITPUB个人空间"fp7Y;}(@_pF
    >
M#|(VX:o @ @03.PO的seter/geter:
"VEG0i0n0private String content;
*Q"e|:B2D7v#Wn_:j%cd0public String getContent() {
4o#W1dX~ s` b0  return content;ITPUB个人空间_BW4cBBQ;np
}
'F2mK k2NLj5A;r0L3od0public void setContent(String content) {
2e;io zXf p i.~0  this.content = content;ITPUB个人空间\oQ'Z2d0G)W2O'M
}
Szt{ uv+Ka&a+D04.在service层我们就可以直接将VO的content直接set进PO就OK,跟一般数据类型一样处理。
M:dW;AHe#o0
Cj w+L ~!LWO a7p0OK了!ITPUB个人空间3?'H3ZI/uC XT
是不是很简单?之前一直在寻找hibernate 对CLOB的支持,试过很多方法后都没有成功,后来发现spring竟然对LOB有很好的支持。

TAG: hibernate spring dwr clob

引用 删除 Guest   /   2009-06-06 09:23:01
你这样的配置在数据小于4000时是可以的,但是大于4000会抛异常
引用 删除 27tt   /   2009-03-15 22:09:25
文本大于4000的时候呢?
引用 删除 倚梦   /   2009-03-09 21:15:15
"按照你说的 我修改了 可是save无效了 而且不报错 是不是需要改什么 自动提交的东西啊? "我也碰到同样的问题
引用 删除 过路人   /   2008-11-23 16:58:31
但是如果我是用的SQL的方式而没用实体映射就不行,执行creatSqlQuery().list();就要报java.lang.numberformatexception :for input string:429496729错!
引用 删除 kenkenken321   /   2008-06-06 09:57:20
按照你说的 我修改了 可是save无效了 而且不报错 是不是需要改什么 自动提交的东西啊?
引用 删除 Guest   /   2008-05-17 22:56:38
不错
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2010-03-22  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 2885
  • 日志数: 17
  • 文件数: 1
  • 建立时间: 2007-12-25
  • 更新时间: 2008-09-03

RSS订阅

Open Toolbar