j2ee中常见异常及解决方法

  1. hinerate3与spring3.0.5整合

    异常 : java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

    解决方法 : 删除hibernate的cglib-2.2.jar,使用spring的cglib-nodep-2.1_3.jar

  2. hibernate与weblogic10整合

    异常 : org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

    解决方法 : weblogic与hibernate的antlr.jar冲突,网上有很多人说去删掉weblogic中的jar包,这种方法不提倡。我们只需要先加载自己本地项目的antlr.jar就行了 

    a.开发环境中,j2ee中常见异常及解决方法

    b.产品环境中,编辑startWebLogic.cmd,找到set CLASSPATH=%SAVE_CLASSPATH%,修改为 set CLASSPATH=antlr.jar(本地路径);%SAVE_CLASSPATH%

  3. 使用hibernate,sessionFactory.getCurrentSession()

    异常:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here  

    场景:我在UserDao(DAO层)的queryPassword()方法中调用 sessionFactory.getCurrentSession()方法;在UserServiceImpl(Service层)中的login()方法中调用了queryPassword()方    法 ,但是applicationContext.xml 的tx:advice中没有引入login方法,也就代表login方法没有纳入事物管理的范围内。(注:只要是Service层的方法,不论是否需要进行事物提交,都应该纳入事物控制中,纳入事物控制与事物提交不是一个概念。)

    解决方法:引入<tx:method name="login" read-only="true"/>

     

你可能感兴趣的:(j2ee中常见异常及解决方法)