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声明不
同”这个解释我也只好同一类,之前还以为就卡在这里解决不了了呢,非常感谢那位哥们的提醒。。
在初时阶段搭建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声明不
同”这个解释我也只好同一类,之前还以为就卡在这里解决不了了呢,非常感谢那位哥们的提醒。。
相关文章推荐
- No Persistence provider for EntityManager named JPA
- 错误No Persistence provider for EntityManager named
- javax.persistence.PersistenceException: No Persistence provider for EntityManager named ***
- javax.persistence.PersistenceException: No Persistence provider for EntityManager named ...
- javax.persistence.PersistenceException: No Persistence provider for EntityManager named userPU
- javax.persistence.PersistenceException: No Persistence provider for EntityManager named ***
- 【转】No Persistence provider for EntityManager问题
- No Persistence provider for EntityManager问题
- javax.persistence.PersistenceException: No Persistence provider for EntityManage
- javax.persistence.PersistenceException: No Persistence provider for EntityManage
- javax.persistence.PersistenceE 4000 xception: No Persistence provider for EntityManage
- mybatis There is no getter for property named 'xx' in 'class java.lang.String
- 我的异常处理笔记1-There is no getter for property named 'xx' in 'class java.lang.String'
- javax.persistence.TransactionRequiredException: No transactional EntityManager available
- No Entity Framework provider found for the ADO.NET provider with invariant
- error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.
- mybatis报错 There is no getter for property named 'xx' in 'class java.lang.String
- Hibernate/JPA之使用getSingleResult报异常NoResultException:No entity found for query
- mybatis报错 There is no getter for property named 'xx' in 'class java.lang.String
- There is no getter for property named "xx"