4
我試圖學習使用持久性,並已經設法在我的本地機器上的glassfish上成功運行項目。現在對我來說下一步就是在我的Tomcat服務器上運行它,但這不起作用。Tomcat上的Java持久性 - 沒有EntityManager的持久性提供者名爲
我總是得到「爲EntityManager的命名MyPersistence沒有持久性提供者」的錯誤
這就是戰爭的結構看起來像
.
|____index.jsp
|____WEB-INF
| |____classes
| | |____Mainpackage
| | | |____Ente.class
| | |____META-INF
| | | |____persistence.xml
| |____lib
| | |____javax.persistence.jar
| | |____mysql-connector-java-5.1.24-bin.jar
| |____web.xml
我的JSP的內容是
EntityManagerFactory fac = Persistence.createEntityManagerFactory("MyPersistence");
EntityManager mgr = fac.createEntityManager();
mgr.getTransaction().begin();
Ente e = new Ente();
e.setName("Quietscheente");
mgr.persist(e);
mgr.getTransaction().commit();
mgr.close();
fac.close();
和我的persistence.xml看起來像
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="MyPersistence">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://h2134265.stratoserver.net/persistencetest"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="persistence"/>
<property name="hibernate.connection.password" value="XXXXXXXXX"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
</properties>
<class>Mainpackage.Ente</class>
</persistence-unit>
</persistence>
我曾嘗試移動的persistence.xml到另一個位置,但根據互聯網上的多個源的位置應正確
謝謝。我以爲IntelliJ會自動添加它們。現在正常工作:) – 2013-03-15 20:16:20