先来赞一句,Spring果然是博大精深,急程序员所急,想程序员所想,值得推荐。
就拿Oracle中的lob字段处理来说,大家都知道这是一个比较麻烦的事, 在加上Hibernate之后处理起来也不是优美(感谢czf的文档), 但是有了Spring一切都是简单解决。
只需要在配置文件中简单几行,代码无需多写一行,就解决了。
在Spring的文件中作如下配置:
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>
<bean name="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor"/>
</property>
</bean>
<bean name="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor"/>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="lobHandler">
<ref bean="oracleLobHandler"></ref>
</property>
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="lobHandler">
<ref bean="oracleLobHandler"></ref>
</property>
......
</bean>
<property name="content" column="Content" type="org.springframework.orm.hibernate3.support.ClobStringType"></property>
这样就搞定了。。。
注意事项:
1. 在Oralce使用需要注意JDBC Driver的版本
2. 在DAO中加上事务管理。