您的位置:首页 > 其它

jpa--No Persistence provider for EntityManager named xx

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

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



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



并在此文件夹下面新建了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&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的环境搭建视频,看了一点后,同时下载了



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



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

同”这个解释我也只好同一类,之前还以为就卡在这里解决不了了呢,非常感谢那位哥们的提醒。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐