`
walsh
  • 浏览: 429874 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Hibernate各种异常解决方案

阅读更多
问题提示:
异常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 删除出现异常的解决方案.doc

    Hibernate 删除出现异常的解决方案.doc

    hibernate常见异常针对于jpa

    hibernate常见异常,hibernatejpa注解使用开发的解决方案

    hibernate延迟机制分析

    使用hibernate关联查询表时会出现回话已经关闭异常的经典错误,本文分析了三种解决方案,给出了使用延迟的最佳方案。

    Spring攻略(第二版 中文高清版).part2

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    Spring攻略(第二版 中文高清版).part1

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    ssh 学习笔记

    三大框架struts2,hibernate,spring 的学习笔记和常见异常的解决方案

    北京中科信软AJAX培训

    基于各种Web解决方案的Ajax技术选择路线 Ajax核心技术-XML XML与Ajax 文档类型定义及声明 XML名域 操纵和解析XML 选择合适的XML生成方式 XHTML与CSS XHTML、CSS与Ajax XHTML与CSS基础 XHTML语法约束 JavaScript ...

    计算机毕业设计-JavaSmart系统-系统框架设计与开发(源代码+论文)

    JavaSmart系统是一个基于Java EE平台开发的企业级系统框架,它为快速构建和部署复杂的业务应用程序提供了...JavaSmart系统适用于各种规模的企业应用,从小型项目到大型企业级解决方案,都能提供强大的支持和灵活性。

    spring 帮助文档(chm格式)

    Spring为 已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明式事务管理, 通过RMI或webservices远程访问业务逻辑,mail支持工具以及数据库持久化的多种选择。 Spring还提供了一个MVC应用框架,可以...

    SOY Framework框架Java RCP编程(一)--配置开发环境

    1.完善的企业应用解决方案,包括表现层,业务逻辑层,报表,权限,日志,国际化,部署等企业应用的各个环节。 2.B/S,C/S优势互补,随需应变。 3.全新的模式开发C/S客户端,无需布局,无需调整控件和组件的...

    MiddlewareJEE:公司的企业解决方案,为客户提供高质量的物流服务,并实时跟踪货物

    所有的数据库通信都是通过 ORM Mapper、Hibernate 进行的。 这些功能是:“用于客户和产品数据管理的业务逻辑和用户界面”和“带有发货状态更新的订单处理”。 Project OmazonClient:Omazon 项目的 Native Client ...

    一个很好的通用泛型dao(含源码)

    用hibernate作为持久化解决方案的GenericHibernateDao实现类,被定义为抽象类,它提取了CRUD操作,这就是简化代码的关键,以便于更好的重用,这个就不给例子了,增删改都好写,查就需要各种条件了。 然后是各个领域...

    vaccine-solution-main

    该解决方案支持两个主要用例:冷链监控和优化的订单管理。 优化的订单管理: :公开API以管理疫苗订单。 基于Quarkus,Hibernate Panache ORM,Postgresql,Debezium发件箱,响应消息。 可支持事件驱动的服务,以...

    收集的常见的专业问题解决办法.rar

    2009-03-16 17:34 93262 24870 常见的专业问题解决办法\[急]hibernate中的Session什么时候关闭?_百度知道.mht 2009-03-18 09:07 2303315 1322088 常见的专业问题解决办法\[教程]红旗Linux5_0桌面正式版光盘安装=...

    java面试题

    并发问题解决方案 59 71.7. Hibernate是如何延迟加载? 60 71.8. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 60 71.9. 说下Hibernate的缓存机制 60 71.10. Hibernate的查询方式 60 71.11. 如何...

    Tomcat内存溢出的三种情况及解决办法分析

    Tomcat内存溢出解决方案 对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx -XX:PermSize -XX:MaxPermSize) 最后一种可能需要调整操作系统和tomcat jvm参数同时...

    zxframe demo.rar

    zxframe主要用于有高访问量的项目,对高并发瓶颈有成套成熟解决方案,让你的服务稳健可用 *.支持读写分离,分库分表,读数据源熔断,数据源运行监控 *.支持JPA,既有hibernate的便捷操作,又有mybatis的sql集中编写...

    Spring.3.x企业应用开发实战(完整版).part2

    9.2.5 Spring使用ThreadLocal解决线程安全问题 9.3 Spring对事务管理的支持 9.3.1 事务管理关键抽象 9.3.2 Spring的事务管理器实现类 9.3.3 事务同步管理器 9.3.4 事务传播行为 9.4 编程式的事务管理 9.5 使用XML...

    Spring3.x企业应用开发实战(完整版) part1

    9.2.5 Spring使用ThreadLocal解决线程安全问题 9.3 Spring对事务管理的支持 9.3.1 事务管理关键抽象 9.3.2 Spring的事务管理器实现类 9.3.3 事务同步管理器 9.3.4 事务传播行为 9.4 编程式的事务管理 9.5 使用XML...

    JavaCenter Home v2.0源码 build 20101105

    JavaCenter Home 的基础架构采用世界上最先进流行的 web 编程组合 Java+MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效系统解决方案。系统用MVC设计模式,采用Struts、Hibernate框架及中间件的结合既...

Global site tag (gtag.js) - Google Analytics