zoukankan      html  css  js  c++  java
  • 关于Spring/Hibernate 3.x升级4.x的小问题

    情景:

      之前版本 现在版本
    JDK 1.7 1.8
    Tomcat v7.0 v8.0
    Spring 3.x 4.x
    Hibernate 3.x 4.x
    MySQL 忘了 5.1.53

    分析:

    如果升级版本错误,就是这几处的问题。

    问题1:

    我使用Spring3.X --- jdk8----出现了如下问题:

    java.lang.IllegalArgumentException
         org.springframework.asm.ClassReader.<init>(Unknown Source)
         org.springframework.asm.ClassReader.<init>(Unknown Source)
         org.springframework.asm.ClassReader.<init>(Unknown Source)
    原因:Spring3.X --- jdk8不兼容
    解决:

      一:把jdk版本换成1.7 or 1.7以下

      二:使用spring-4.0-RELEASE及以上版本

    问题2:

    Spring4.x的事务管理没有起作用。

    解决:(以下是我碰到的问题解决方法,当然还有其它解决方法我没有列出)

        <!-- 使用FactoryBean创建Spring得到 SessionFactory -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
              <!-- 把hibernate.cfg.xml文件中的配置信息注入进来,从而可以删掉配置文件-->
              <property name="dataSource" ref="dataSource"></property>
              <property name="hibernateProperties">
                      <props>
                          <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
                          <prop key="javax.persistence.validation.mode">none</prop>
                          <prop key="hibernate.show_sql">true</prop>
                          <prop key="hibernate.format_sql">true</prop>
                          <prop key="hibernate.hbm2ddl.auto">update</prop>
                          <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
                      </props>
              </property>
              <property name="mappingLocations" value="classpath:king/domain/*.hbm.xml"></property>
        </bean>

    ①如果你的MySQL的版本改动了,这个属性也可能会随着改动。

    原因:

    如果表的类型为MyISAM,则sping里配置的事务是不起作用的,所以要使用InnoDB类型的表,因为这个类型的表才支持事务。

    ②3.x时这一处我们都会写thread,4.x要写成SpringSessionContext。

    
    
  • 相关阅读:
    The test form is only available for requests from the local machine
    64位Win7下,先安装Visual Studio,后安装IIS的设置步骤
    [转] 如何在 64 位的 Windows 7 中安裝 PLSQL DEVELOPER 8 和 Oracle 11g x64 Client
    excel对csv的转义
    js中没有引用的匿名函数调用方法
    缓存实现条件
    js对象成员的删除特性 (delete)
    js语法作用域之间的相关性
    【转】UBOOT之四:uboot.lds分析
    linux C 中的volatile使用
  • 原文地址:https://www.cnblogs.com/kingofkai/p/6142353.html
Copyright © 2011-2022 走看看