hibernate(转)

      最近在做一个小的JAVA的WEB应用,好长一段时间不做WEB,生疏的很了。总结最近碰到几个问题:
(1)EL表达式不能被解析:
   建工程的时候选了JAVA EE 5,JSP页面中的EL表达式不能被解析。
   在JavaEye上有几个帖子讨论过这个问题:
   http://www.javaeye.com/topic/155354  

1、
异常描述:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass
Caused by:
java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass
原因及解决方案:Hibernate的包重复造成的,选择一个正确的版本。

2、
异常描述:
2008-11-13 14:48:20,812 WARN [org.hibernate.cfg.SettingsFactory] buildSettings Could not obtain connection metadata
java.sql.SQLException: Connections could not be acquired from the underlying database!
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:104)
原因及解决方案:数据库连接的配置参数有误。

3、
异常描述:
2008-11-13 15:03:50,343 ERROR [springframework.web.struts.ContextLoaderPlugIn] init Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Line 5 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
原因及解决方案:Spring的包的问题,解析XML出现问题

4、
异常描述:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
    at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
原因及解决方案:Asm.jar包有冲突

5、
异常描述:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
Caused by:
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
    at java.lang.Class.getDeclaredMethods0(Native Method)
原因及解决方案:缺少jta.jar包,添加该包。
6、问题描述:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
Caused by:
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
    at java.lang.Class.getConstructor0(Class.java:2640)
原因及解决方案:缺少ehcache包。。。

7、
异常描述:
在代码中使用了userDao.getSessionFactory().getCurrentSession();之后报错。
userManager:com.bdsoft.service.impl.UserManagerImpl@4edf4a
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean$TransactionAwareInvocationHandler.invoke(AbstractSessionFactoryBean.java:300)
    at $Proxy2.getCurrentSession(Unknown Source)
    at com.bdsoft.service.impl.UserManagerImpl.modifyPassword(UserManagerImpl.java:52)

问题原因和解决方案:
JAVAEye上的讨论贴:http://www.javaeye.com/topic/87035?page=1

8、异常描述:
008-11-14 14:45:25,484 WARN [org.hibernate.util.JDBCExceptionReporter] logExceptions SQL Error: 1064, SQLState: 42000
2008-11-14 14:45:25,484 ERROR [org.hibernate.util.JDBCExceptionReporter] logExceptions You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'right=1 where id=1' at line 1
2008-11-14 14:45:25,484 ERROR [hibernate.event.def.AbstractFlushingEventListener] performExecutions Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
    at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:181)
错误原因及解决方案:在数据库建模的时候,把right作为了一个表的字段,但是这时mysql的一个关键字,所以出现错误,换成其他的名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值