jpa--No Persistence provider for EntityManager named xx

前几天跟着传智博客的黎活明老师学习做一个电子商务网站--巴巴运动网(http://www.babasport.com/),老师讲解的很详细这也是以他为主开发的购物网站,可想而知老师费了多少精力,虽然暂时没有能够盈利运营,我想这不算什么,老师能够无私的把源码分享给我们并且还有配套视频(http://www.itcast.cn/itcast_static/babaSport_video.htm),把整个项目软件开发流程清晰地展现给J2EE爱好者以供学习,在此感谢黎活明老师!!

在初时阶段搭建jpa开发环境是把所有用到的jar文件依次加到了User Librarary里:

jpa--No Persistence provider for EntityManager named xx_第1张图片

同时也在web工程的类路径下新建了META-INF文件夹

jpa--No Persistence provider for EntityManager named xx_第2张图片

并在此文件夹下面新建了persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"  version="1.0">  
  
<persistence-unit name="itcast" transaction-type="RESOURCE_LOCAL">  
   <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <properties>  
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />  
    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />  
    <property name="hibernate.connection.username" value="root" />  
    <property name="hibernate.connection.password" value="123456" />  
    <property name="hibernate.connection.url" value="jdbc.mysql://localhost:3306/itcast?useUnicode=true&amp;characterEncoding=UTF-8" />  
    <property name="hibernate.max_fetch_depth" value="3" />  
    <property name="hibernate.show_sql" value="true" />  
    <property name="hibernate.hbm2ddl.auto" value="update"/>  
    <property name="hibernate.jdbc.fetch_size" value="18" />  
    <property name="hibernate.jdbc.batch_size" value="10" /> 
    <property name="hibernate.format_sql" value="true" />   
   </properties>  
  
</persistence-unit>  
  
</persistence> 

 

而后使用单元测试测试jpa搭建平台是否成功是报出如下异常

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named itcast
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
	at junit.test.Test.main(Test.java:13)

于是那个着急啊,到很多网站上结果还是没有答案,一连好几天都没有一点进展,直到有一次在soso问问上看到一位哥们同样出现如此情况,这位哥们却自己解决了,不得不说是牛逼的人啊,我都快放弃了,他回复说:“hibernate版本不一样 配置文件的DTD声明不

 同”我又有了一丝希望,想到了黎活明老师曾经开的spring2.5教程视频里关于jpa的环境搭建视频,看了一点后,同时下载了


解压后选用了几个核心文件后异常解除

jpa--No Persistence provider for EntityManager named xx_第3张图片

我终于松了口气,“hibernate版本不一样 配置文件的DTD声明不

”这个解释我也只好同一类,之前还以为就卡在这里解决不了了呢,非常感谢那位哥们的提醒。。

你可能感兴趣的:(Provider,for,xx,EntityManager,persistence,No,named)