Hibernate4& LobHandler接口

时间:2012-01-03 09:19:22

标签: spring lob hibernate-4.x

根据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? 如果是这样,我在哪里可以定义它?

1 个答案:

答案 0 :(得分:0)

好像你不需要它。他们建议使用本机类型而不是用户类型。

请参阅http://www.sureshpw.com/2012/04/spring-hibernate-4.html