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

使用Hibernate持久层 --- 2 出现的问题与解决方法总结

    博客分类:
  • SSH
阅读更多

使用Hibernate持久层 --- 2 出现的问题与解决方法总结
现象1:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’org.springframework.aop.support.DefaultPointcutAdvisor’ defined in null: Can’t resolve reference to bean ’txAdvice’ while setting property ’advice’; nested exception is 

原因:缺少Spring开头的各种包,到Spring2.0 src中编译新的dist目录出来,拷贝全部的springxxx.jar到jpetstore/WEB-INF/lib下。OK。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 现象2:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’sessionFactory’ defined in resource [/WEB-INF/dataAccessContext-hibernate.xml] of ServletContext: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager

原因:缺少jta.jar,OK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 现象3:
java.lang.NoClassDefFoundError: org/dom4j/Attribute
缺dom4j.jar
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
缺ehcache.jar
java.lang.NoClassDefFoundError: net/sf/cglib/core/KeyFactory
缺cglib-full.jar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 现象4:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’sessionFactory’ defined in resource [/WEB-INF/dataAccessContext-hibernate.xml] of ServletContext: Initialization of bean failed; nested exception is net.sf.hibernate.MappingException: could not instantiate id generator
net.sf.hibernate.MappingException: could not instantiate id generator

原因:
hbm中id字段的定义为没有定义的sequesce,修改为inc
<id
   name="id"
   type="string"
   column="userid"
  >
   <generator class="net.sf.hibernate.id.IncrementGenerator"/> // 原来是sequence.
  </id>
这样就可以了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现象6:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’/shop/addItemToCart.do’ defined in ServletContext resource [/WEB-INF/petstore-servlet.xml]: Can’t resolve reference to bean ’petStore’ while setting property ’petStore’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ’petStore’ is defined
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ’petStore’ is defined
原因:
我使用Struts作为action,当然就不需要使用Spring WEB framework,因此也不需要与之配套的配置文件例如,petstore-servlet.xml,
还有remote-servlet.xml ,但是Spring仍旧加载此两个文件,没办法,只好将此两个文件挪动到别的地方,但是又出现找不到这两个
文件的IO异常,没办法,只好又拷贝回来,然后把文件内容晴空。
终于好用了。
原 因就是,只要你在web.xml中定义了这个servlet,他就要去找此servlet名字对应的配置文件(servletname- servlet.xml),找不到就出错。ok,现在注释掉web.xml中名字为petstore的servlet定义和影色,删除petstore- servlet.xml文件,哈哈,这下不报告错误了。
同理,注释名字为remote的servlet,删除remote-servlet.xml后,重新启动tomcat,这下不报告任何错误了。呵呵。原来如此啊。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现象:
java.lang.NullPointerException
 srx.test.testhibernate.UserDAO.getAll(UserDAO.java:9)
 srx.test.struts.action.UserAction.execute(UserAction.java:20)
原因:

Action原来
UserDAO // 这个类OK
public class UserDAO extends HibernateDaoSupport {
 public List getAll() {
       return this.getHibernateTemplate().find("select aa from Account aa");
 }
}

//这个类需要修改
public class UserAction extends ActionSupport {
  UserDAO dao = new UserDAO(); 
  List accounts = dao.getAll();
。。。
}
修改:
//UserDAO dao = new UserDAO(); 
WebApplicationContext wac = this.getWebApplicationContext();
  UserDAO dao = (UserDAO) wac.getBean("userDAO");
OK

分享到:
评论

相关推荐

    hibernate-jpa-2.1-api-1.0.0.Final.jar

    在实际应用中,开发者可以通过实现这些接口,或者直接使用Hibernate提供的实现类,如`HibernateEntityManager`和`HibernatePersistenceProvider`,来构建自己的持久化层。同时,配合Spring框架,可以进一步简化配置...

    hibernate-core-3.6.10.Final.jar.zip

    在这个讨论中,我们将深入探讨Hibernate Core 3.6.10.Final版本,并分析它在Spring框架中的集成与使用。 首先,`hibernate-core-3.6.10.Final.jar`是Hibernate Core的特定版本库,包含了所有必要的类和资源,用于...

    hibernate-annotation-helloword

    在Java世界中,Hibernate是一个流行的持久层框架,它极大地简化了数据库操作,尤其是在对象关系映射(ORM)方面。在这个项目中,我们将深入探讨Hibernate如何通过注解来简化数据库操作。 首先,让我们了解什么是...

    hibernate-distribution-3.3.2.GA-dist.zip

    《Hibernate 3.3.2 GA ...总结,Hibernate 3.3.2 GA 是一个成熟的 ORM 解决方案,其丰富的功能和优化的性能为 Java 开发者提供了便利。通过学习和掌握 Hibernate,开发者可以更高效地实现数据持久化,提高开发效率。

    hibernate-extensions和Middlegen-Hibernate

    为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...

    Hibernate-Extension Middlegen-Hibernate

    总结来说,Hibernate扩展Middlegen-Hibernate的组合,为Java开发提供了一种高效且灵活的数据库映射解决方案。它通过自动化的方式,降低了数据库到Java对象映射的复杂性,提升了开发效率,是现代企业级应用开发中不可...

    Middlegen-Hibernate-r5

    而Middlegen则是与Hibernate配套使用的工具,它能自动生成Hibernate的持久层代码,大大提升了开发效率。本文将深入探讨Middlegen-Hibernate-r5这一版本,揭示它们如何协同工作,为开发者带来便利。 一、Middlegen...

    Beginning-Hibernate-2nd-Edition.pdf

    通过本书的学习,读者不仅可以掌握 Hibernate 的基础用法,还能深入了解其内部机制和高级特性,从而能够在实际开发工作中高效地利用 Hibernate 解决问题。无论你是刚刚接触 Hibernate 的新人,还是有一定经验的...

    hibernate入门课件--introduce hibernate.pdf

    使用Hibernate这样的ORM框架可以有效解决对象关系阻抗不匹配的问题,使得开发人员能够更加专注于业务逻辑的实现,而非底层的数据访问细节。 #### 八、总结 综上所述,Hibernate作为一款强大的ORM框架,不仅能够...

    hibernate-distribution-3.6.0.Beta3

    本文将深入探讨 Hibernate 3.6.0 Beta3 版本,揭示其在数据持久化领域的卓越特性与应用。 1. **Hibernate 概述** Hibernate 是一款开源的 ORM 解决方案,它允许开发者用 Java 对象来直接操作数据库,而无需编写...

    hibernate-search-5.3.0.Final-dist

    SSH(Spring、Struts、Hibernate)作为经典的Java Web开发框架,Spring负责依赖注入和事务管理,Struts处理MVC模式,而Hibernate则作为持久层解决方案。将Hibernate Search整合进SSH,可以极大地提升用户在应用中的...

    Hibernate数据持久层jar包源码解析

    总结来说,本压缩包提供了深入学习Hibernate数据持久层的机会,包括其核心的ORM机制,以及如何融入md5加密和分页算法。通过对源码的分析,开发者不仅可以掌握Hibernate的基本用法,还能洞察其设计思想,为自己的项目...

    Hibernate 4.0.0 jar包

    总结,Hibernate 4.0.0 jar包是Java开发中用于数据库操作的重要工具,它提供了一套完整的ORM解决方案,包括对象关系映射、查询语言、事务处理等功能,极大地简化了Java应用中的数据访问层开发。使用时,开发者需要...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    在Java的持久层框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在实际开发过程中,我们可能会遇到一些问题,比如在处理`hbm.xml`文件中的中文注释时出现乱码,或者...

    J2EE系统之-hibernate学习总结

    2. **需求分析与抽象**:将业务需求中的实体和行为抽象为Hibernate中的实体和相关服务接口及方法。 3. **面向对象思考**:在设计映射时不直接考虑SQL语句,而是侧重于面向对象的设计思路。完成后可再考虑SQL语句优化...

    hibernate-release-5.1.5.Final

    Hibernate,作为Java领域中的一个著名ORM(对象关系映射)框架,它有效地解决了对象与数据库之间的交互问题,大大简化了数据访问层的开发工作。 Hibernate 5.1.5.Final是其在2016年发布的一个稳定版本,它包含了多项...

    使用Eclipse进行Hibernate开发

    #### 七、常见问题及解决方法 - **连接失败**: 检查数据库URL、用户名和密码是否正确。 - **类找不到**: 确认类路径正确,并已加入构建路径。 - **映射文件找不到**: 检查映射文件路径是否正确。 #### 八、总结 ...

    使用Hibernate完成对象持久化

    【使用Hibernate完成对象持久化】 在Java开发中,对象持久化是将应用程序中的对象与数据库中的数据进行绑定,使得对象的状态能够在系统重启后仍然保持。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了...

    hibernate校验jar包

    总结,Hibernate校验jar包是Java企业级开发中的重要组件,它提高了数据质量,减少了因数据错误引发的问题。了解并熟练运用这些jar包,能够帮助开发者编写更健壮、更易于维护的代码。在实际开发中,结合其他Java EE...

Global site tag (gtag.js) - Google Analytics