异常信息:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No PersistenceProvider specified in EntityManagerFactory configuration, and chosen PersistenceUnitInfo does not specify a provider class name either
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.junit.ProductTypeTest.saveProductType(ProductTypeTest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.IllegalArgumentException: No PersistenceProvider specified in EntityManagerFactory configuration, and chosen PersistenceUnitInfo does not specify a provider class name either
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:207)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 39 more
此种异常处理:
这种异常出现在persistence.xml文件中少添加了一项
<!--这句话是说明这个jpa的实现产品是有hibernate来提供支持-->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
分享到:
相关推荐
在Java Web开发领域,JPA(Java Persistence API)、Spring框架和Struts框架的整合是常见的技术栈,它们各自扮演着不同的角色,共同构建出高效、灵活的Web应用程序。下面将详细介绍这三个关键技术及其整合过程。 **...
Spring还包含了一个全面的数据访问抽象层,支持JDBC、JPA、Hibernate等多种数据访问技术,使得开发者可以方便地整合各种持久化策略。 在"Maven构建的JPA+Spring"项目中,Spring被用来管理应用程序的组件,并通过其...
**标题:“JPA+Spring+Struts2整合”** 在Java Web开发中,Spring、Struts2和JPA(Java Persistence API)是三个非常重要的框架。它们分别在依赖注入、MVC(Model-View-Controller)架构和持久化管理方面发挥着关键...
**JPA+Spring2.5+Struts2.0整合详解** 在Java开发领域,Spring、Struts和JPA(Java Persistence API)是常见的三大框架,它们分别在依赖注入、MVC架构和对象关系映射方面发挥着重要作用。本实例将深入讲解如何将这...
将Struts1、JPA和Spring2.5整合在一起,通常是为了利用它们各自的优势,构建一个高效、可维护的企业级应用。例如,Struts1负责处理HTTP请求,Spring2.5提供IoC和AOP支持,而JPA则处理数据持久化。在实际项目中,...
整合Spring 2.5与Struts2和JPA,我们可以在Spring的配置文件(如`applicationContext.xml`)中定义Bean,包括Action类、Service类和DAO类,然后使用Spring的依赖注入来管理这些组件。 在这个基础框架的配置中,我们...
综上所述,"spring+jpa+全局异常+单元测试"这个主题涵盖了Java后端开发中的核心技术和最佳实践。通过有效地整合这些技术,我们可以构建出健壮、易于维护的业务系统,并通过严格的测试确保其质量。
`Struts 2 + Spring 2 + JPA + AJAX.mht` 文件可能是项目的演示文档或教程,包含了关于如何整合这些技术的详细步骤和示例。而 `复件 quickstart` 可能是快速启动项目的目录,包含了一些预配置的文件和示例代码,帮助...
Spring MVC、Spring Data JPA 和 Maven 是 Java 开发中常用的技术栈,它们分别负责Web开发、数据访问以及项目构建管理。下面将详细解释这三个技术及其整合应用。 **Spring MVC** Spring MVC 是 Spring 框架的一部分...
Spring Boot JPA与Security是两个在Java开发领域中极为重要的技术框架,它们分别专注于数据访问和应用程序的安全管理。本文将深入探讨这两个框架的核心概念、如何整合使用以及在实际项目中的应用。 Spring Boot是由...
整合 Struts 2、Spring 2 和 JPA 可能涉及以下步骤: 1. **配置Struts 2**: 添加Struts 2 的依赖,并配置struts.xml文件以定义Action类和结果。 2. **配置Spring**: 配置Spring的bean定义,包括Action类、Service类...
此外,教程可能还会涵盖事务管理的配置,以及如何使用Spring Data JPA进一步简化数据访问层的代码。 整合这三大框架,可以实现高效、灵活且易于维护的Java Web应用。通过注解,开发者可以减少XML配置,提高代码的...
该项目是一个基于Struts2、Spring、JPA和Ajax技术实现的网上购物系统。这个系统的主要目的是为了演示如何在实际开发中整合这些技术,提供一个功能完善的电商应用框架。以下是对这些关键技术点的详细解释: **Struts...
总的来说,Spring+SpringMVC+JPA(Hibernate)的整合为Java Web应用开发提供了强大的支持,使得我们可以更加专注于业务逻辑,而不是底层的基础设施。这种架构模式在实际项目中广泛应用,能够提高开发效率,降低维护...
在仓库管理系统中,MyBatis可能与Spring Boot整合,作为对JPA的补充,用于执行更复杂的SQL查询,或者处理那些不适合用JPA进行的特定数据库交互。 **仓库管理系统** 仓库管理系统的核心功能可能包括库存管理、物品...
在JSF和Spring的环境中,Hibernate常用于管理数据库交互,Spring可以通过其JPA(Java Persistence API)支持轻松地集成Hibernate。 在这个整合项目中,开发者可能已经配置了以下关键组件: 1. **JSF配置**:JSF的...
通过Spring的HibernateTemplate或JPA的EntityManager,我们可以以声明式的方式处理事务,提高代码的简洁性。 4. **数据展示**:JSF组件如h:inputText、h:commandButton等用于收集用户输入,而h:outputText、h:...
Struts2.3.4.1、Spring3.1.2和Hibernate4.1.6是Java Web开发中三大主流框架的特定版本,它们的整合是企业级应用开发中的常见实践,以实现模型-视图-控制器(MVC)架构。这个整合包是为了简化开发者的工作,集成了这...
8. **异常处理**:整合过程中,可能会遇到 Hibernate 和 Spring 的异常,如 ConstraintViolationException、DataAccessException 等,需要适当地捕获和处理这些异常,提供友好的错误信息。 9. **测试**:编写单元...
通过这种整合,开发者可以利用Struts 2的强大会话管理和视图渲染能力,Spring的全面服务管理,以及JPA的高效数据持久化,创建出结构清晰、易于维护的Java Web应用程序。在实际开发中,还需要注意性能优化、异常处理...