问题提示:
异常1:org.hibernate.PropertyNotFoundException: Could not find a getter for attribute
问题分析:
1)getter()方法写错了,没有按照javaBean的规则写.
2)*.hmb.xml中的属性名和pojo中的是否一致.注意:属性名是否多了空格.
启示:.hbm.xml里的排列最好跟数据库表里的排列一样!最好不要乱改变位置!否则会出莫名其妙的错误!
3)字段的取名要注意。比如数据库中的字段为M_R_ID,映射到hbm.xml为mRId,那么产生的POJO也是mRId,自动产生的getter方法为:getMRId();相应的setter方法一致,这样就会抛出上面所述异常,这个应该是hibernate的模板格式问题。所以尽量要避免这样的命名。
解决方法:
1)换做getmRId(); 问题可解决,没有抛出异常,能取值。
2)修改数据库字段名。这个最好,不会产生以后的不确定因素。
再例如:在求道路对应表算法中,如果早JavaBean中,把起始节点和终止节点分别命名为:sNode和eNode,那末相应的get和set方法分别是:
public int getSNode() {
return sNode;
}
public void setSNode(int sNode) {
this.sNode = sNode;
}
public int getENode() {
return eNode;
}
public void setENode(int eNode) {
this.eNode = eNode;
}
那末在运行时就会出现上述异常。正确的命名是:snode enode
相应的JavaBean代码如下:
public int getSnode() {
return snode;
}
public void setSnode(int snode) {
this.snode = snode;
}
public int getEnode() {
return enode;
}
public void setEnode(int enode) {
this.enode = enode;
}
现在如果其它配置都正确的话,上述异常就会消失了。
异常2:org.hibernate.QueryException: could not resolve property: age of: cn.com.newcom.User [from cn.com.newcom.User user where user.age > :minAge and user.username like :userName]
出现异常的原因:HQL语句写法错误
出现上述异常的HQL书写形式如下:
<query name="queryUser_byAgeAndName">
<![CDATA[
from User user where user.age > :minAge and user.username like :userName]]>
</query>
解决办法:
改写HQL语句,改写后的HQL语句如下:
<query name="queryUser_byAgeAndName">
<![CDATA[
from User user where age > :minAge and username like :userName
]]>
</query>
或者是:
<query name="queryUser_byAgeAndName">
<![CDATA[
from User where age > :minAge and username like :userName
]]>
</query>
继续添加。。。。
分享到:
相关推荐
本文将针对几个常见的Hibernate异常进行详细解析,并提供相应的解决策略。 #### 1. **DOM4J DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence** **异常描述:** 当Hibernate尝试解析一个XML配置文件时...
Hibernate 常见异常处理 Hibernate 是一个流行的 Java 持久层框架,但是在实际开发中,我们经常会遇到各种异常。...通过了解这些异常的原因和解决方案,我们可以更好地使用 Hibernate,提高开发效率和质量。
### Hibernate查询解决方案详解 #### 一、概述 Hibernate 是一个开放源代码的 ORM(对象关系映射)框架,它提供了从 Java 类到数据库表的映射机制,以及数据的查询和获取方式。Hibernate 的核心功能之一是提供了...
### Hibernate 错误解决方案 #### 一、概述 在使用Hibernate框架进行开发的过程中,经常会遇到各种各样的异常问题。这些问题可能会导致程序无法正常运行,甚至影响到系统的稳定性。本文将针对几个常见的Hibernate...
Java 异常是 Java 开发中经常遇到的问题,本文档将提供 Java 异常解决方案,涵盖 Hibernate、Tomcat、Java 基本、JSP、SSH 整合等多个方面的异常解决方案。 一、Hibernate 异常解决方案 * org.hibernate....
总之,理解Hibernate的异常信息,结合业务逻辑和对象关系,选择合适的处理方式,是解决这类问题的有效途径。同时,良好的代码设计和规范,以及对框架和工具的深入理解,也能帮助我们更好地预防和处理这类异常。
Hibernate 中大量数据的更新 Hibernate 是一个流行的基于 Java 的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在将大量数据插入到数据库时,Hibernate 经常会出现性能和...
### Hibernate常见异常及解决方案 #### 一、保存了一个父对象,但是它的关联对象没有保存到数据库中 在Hibernate中,当我们保存一个实体时,如果该实体与其他实体有关联关系(如一对多或多对一),那么可能遇到的...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
总结一下,实现Spring与Hibernate的多数据库解决方案,主要涉及以下几个步骤: 1. 配置多个数据源,分别用于读和写操作。 2. 创建与数据源相对应的Hibernate SessionFactory,确保数据流向正确的数据库。 3. 可选地...
**解决方案:** 1. **检查类路径:**确保`ehcache.jar`存在于项目的类路径中。如果你使用的是IDEA等集成开发环境,可以通过项目设置检查依赖库是否包含了此jar包。 2. **手动添加依赖:**如果是通过Maven或Gradle...
通过上述分析,我们可以看出,虽然描述部分提供的信息有限,但是通过深入探讨与`org.springframework.orm.hibernate3.LocalSessionFactoryBean`相关的异常及解决方案,可以帮助初学者更好地理解和应对这些问题。...
#### 五、解决延迟加载异常的方法 1. **修改Fetch策略**:将Fetch策略设置为`fetch="join"`,即在查询主对象的同时通过JOIN查询的方式加载关联对象,这样就不会抛出延迟加载异常。 2. **禁用延迟加载**:将`lazy=...
Hibernate事务回滚失败解决方案 Hibernate是一个流行的Java持久层框架,它提供了对数据库的操作和事务管理机制。然而,在使用Hibernate时,可能会遇到事务回滚失败的问题,本文将详细介绍该问题的原因和解决方法。 ...
MySQL+Hibernate 连接空闲8小时自动断开问题解决方案 知识点1: Hibernate 的连接池机制 在 Hibernate 中,默认情况下 使用的是 DriverManagerConnectionProvider,这是一个简单的连接池机制。它将打开的连接缓存在...
Eclipse 上使用 Hibernate 是 Java 开发者常用的持久层解决方案。本文将指导您在 Eclipse 环境中使用 Hibernate,包括下载和安装 Hibernate、配置 Hibernate、生成实体类和 DAO 类、添加映射资源等步骤。 下载和...
本资源包“解决各种java 异常的方法”聚焦于Java异常的处理策略,为初学者提供了一套全面的解决方案,旨在让Java新手能够更好地理解和应对编程中遇到的异常情况,从而实现“java新手无忧”。 首先,我们需要理解...
总之,Hibernate 5.4.25为Java开发者提供了强大的数据持久化解决方案,通过合理的jar包配置和应用,可以极大地提升开发效率,降低项目维护成本。在理解和掌握其核心特性的基础上,灵活运用到实际项目中,将有助于...
Hibernate 3.2 是一个非常重要的Java持久化框架,它为开发者提供了强大的对象关系映射(ORM)功能,使得在Java应用中操作...在现代企业级应用中,Hibernate作为ORM解决方案的一部分,被广泛应用于各种复杂的系统中。
- **解决方案**:检查Hibernate配置文件中hbm.xml映射文件的定义是否正确,以及实体类字段与数据库表列名是否对应。 4. **数据库连接失败**: - **原因**:数据库驱动未添加到项目中,或者数据库连接信息配置不...