hibernate Exception

unchecked不可恢复的异常
checked需要用户捕捉的异常

IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext-db.xml];
错误原因:applicationContext-db.xml名称和实际名称不相符

java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
错误原因:缺少jar包

org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
错误原因:<beans>......<beans>应为<beans>......</beans>

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AbstractMultiactionController' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could n
ot instantiate bean class [web.user.AbstractMultiactionController]: Is it an abstract class?; nested exception is java.lang.InstantiationException
错误原因web.user.AbstractMultiactionController是抽象类不能在xml中定义

org.hibernate.HibernateException: Dialect class not found: net.sf.hibernate.dialect.MySQLDialect
错误原因:由于使用的是hibernate3所以应该为org.hibernate.dialect.MySQLDialect

org.hibernate.MappingException: could not instantiate id generator
错误原因:hbm的id声成错误(hibernate3不支持String作id)

getUserdao.save出错
应改为:getUserdao().save

 Invalid property 'userDao' of bean class [web.user.UserController]: Bean property 'userDao' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter
 错误原因:在抽象类中   

换成    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

就可以了
   
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity:
错误原因:hbm.xml文件配置出错

InitializingBean接口的afterPropertiesSet()在初始化的时候自动调用要注意

在使用load的时候出现
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
错误原因load在,应该是你查询的时候调用了load方法(也可能是内部自己调用的),因为load在session关闭后,代理对象也就取不到值了
问题:hibernate3默认的lazy为true,使用代理模式proxy属性允许延迟加载类的持久化实例。调用session.load()方法,Hibernate开始会返回CGLIB代理,除主键外的其他值均为null。当代理的某个方法被实际调用的时候,真实的持久化对象才会被装载,但必须在同一个session中。如session.close()前一直未调用方法,close()后再调用,报上述错误。
解决 a.hbm.xml中 class项,加上lazy=false


org.hibernate.QueryException: could not resolve property: name of
hbm和pojo没有进行匹配

Can't find bundle for base name views, locale zh_CN
貌似你用了国际化语言设置,但是没有提供xxx_zh_CN.properties文件

java.net.ConnectException: Connection refused: connect
数据库没开
防火墙阻止
数据库连接语句有问题

java.lang.NoClassDefFoundError: antlr/ANTLRException]
缺少antlr-2.7.5H3.jar

 

如果以后出现tomcat 严重: Error filterStart 错误,一般原因为:1、xml配置失误(如我) 2、filter中某段代码为实例化(这个情况是出现最多的,要仔细检查) 3、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到 common/lib/目录,有些包在部署是没有被包含

Unsupported major.minor version 49.0j
jdk版本不支持

 

如果以后出现tomcat 严重: Error filterStart 错误,一般原因为:1、xml配置失误(如我) 2、filter中某段代码为实例化(这个情况是出现最多的,要仔细检查) 3、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到 common/lib/目录,有些包在部署是没有被包含

Unsupported major.minor version 49.0j
jdk版本不支持

java.net.ConnectException: Connection refused: connect
数据库没开
防火墙阻止
数据库连接语句有问题

java.lang.NoClassDefFoundError: antlr/ANTLRException]
缺少antlr-2.7.5H3.jar

 

如果以后出现tomcat 严重: Error filterStart 错误,一般原因为:1、xml配置失误(如我) 2、filter中某段代码为实例化(这个情况是出现最多的,要仔细检查) 3、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到 common/lib/目录,有些包在部署是没有被包含

Unsupported major.minor version 49.0j
jdk版本不支持

Wrapper cannot find servlet class
在xfire出现的时候此错误的时候查看META-INF下的xfire文件加下是否有有services.xml

### 回答1: "org.hibernate.exception.sqlgrammarexception" 是一个 Hibernate 框架中的异常型,表示 SQL 语法错误异常。在使用 Hibernate 进行数据库操作时,如果使用的 SQL 语句存在语法错误,则会抛出此异常。需要检查 SQL 语句是否符合语法规范,并且查看相关日志信息,以找出异常的具体原因。 ### 回答2: org.hibernate.exception.sqlgrammarexceptionHibernate 框架中的一个异常型,它表示在执行 SQL 语句期间出现了语法错误。这个异常通常是由于 SQL 语句中存在错误的语法或语义所导致的。当 Hibernate 尝试执行查询或更新时,如果 SQL 语句无效,则会抛出这个异常。 通常,这种异常可能的原因包括以下几种: 1. SQL 语句的语法有错误,比如拼写错误、用错了关键字等等。 2. SQL 语句中的参数不正确,比如错误地使用了一个没有定义的变量或者未正确绑定变量。 3. 数据库中的表结构发生了变化,导致 SQL 语句不再适用于当前的表结构。 4. 应用程序或数据库本身存在错误或故障,导致执行 SQL 语句失败。 解决这个异常的方法是,首先需要检查 SQL 语句是否正确,确保它们没有语法错误或语义错误。然后检查 Hibernate 框架中是否正确地绑定了所有参数。如果数据库的表结构发生了变化,则需要更新 SQL 语句以反映新的表结构。最后,考虑检查应用程序和数据库本身是否存在错误或故障,需要对应用程序和数据库进行排错。 总之,org.hibernate.exception.sqlgrammarexception 表示在执行 SQL 语句期间出现了语法错误,需要及时检查和修复问题,确保应用程序能够正常运行。 ### 回答3: org.hibernate.exception.sqlgrammarexceptionHibernate框架的一个异常,表示在执行数据库语句时发生了语法错误的异常。 当我们使用Hibernate框架操作数据库时,执行的SQL语句通常是由Hibernate自动生成的。在这个过程中,如果存在语法错误,就会抛出org.hibernate.exception.sqlgrammarexception异常。 通常情况下,org.hibernate.exception.sqlgrammarexception异常的原因有以下几种: 1. SQL语句写错了。例如,缺失了关键字或者拼写错误等。 2. 字段名、表名或者数据库名写错了。例如,大小写敏感、名字拼写不一致等。 3. SQL语句中使用了不支持的SQL语法。例如,在MySQL中使用了Oracle特有的语法等。 4. 数据库访问权限不够。例如,用户没有访问该表的权限等。 当我们遇到org.hibernate.exception.sqlgrammarexception异常时,我们需要仔细检查SQL语句和数据库结构等方面,找到错误并及时纠正。在修复问题之前,也可以使用Hibernate提供的日志工具来追踪问题,帮助我们更快地定位问题。 另外,由于Hibernate封装了底层的JDBC操作,所以当我们碰到org.hibernate.exception.sqlgrammarexception异常时,一定要从Hibernate框架的角度去考虑问题,而不是直接去修改数据库。这样可以避免影响数据的安全性和一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值