根据this post我改变了我的会话工厂定义
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
p:dataSource-ref="dataSource" p:lobHandler-ref="oracleLobHandler">
<property name="annotatedClasses">
<list>
[..]
到
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
p:dataSource-ref="dataSource">
<property name="annotatedClasses">
<list>
[..]
不幸的是,没有可能像在hibernate3中那样定义LobHandler。由于“Lobhandler”的javadoc中仍然存在以下内容,因此似乎仍然需要
总结推荐的选项(对于实际的LOB字段):
JDBC 4.0驱动程序:带有streamAsLob = true的DefaultLobHandler。
PostgreSQL:DefaultLobHandler,wrapAsLob = true。 Oracle 9i / 10g:
OracleLobHandler,具有特定于连接池的NativeJdbcExtractor。
对于所有其他数据库驱动程序(以及可能在某些数据库上可能变为LOB的非LOB字段): DefaultLobHandler。
那么,是否仍然需要在hibernate4中定义lobHandler? 如果是这样,我在哪里可以定义它?
答案 0 :(得分:0)
好像你不需要它。他们建议使用本机类型而不是用户类型。