javax.persistence.PersistenceException:没有名为em1的EntityManager的持久性提供程序
我正在用Glassfish创建一个服务器,我希望有一个到远程MySQL数据库的JPA持久层 当我尝试使用持久性层时,会出现以下异常:javax.persistence.PersistenceException:没有名为em1的EntityManager的持久性提供程序,java,mysql,jpa,glassfish,Java,Mysql,Jpa,Glassfish,我正在用Glassfish创建一个服务器,我希望有一个到远程MySQL数据库的JPA持久层 当我尝试使用持久性层时,会出现以下异常:javax.persistence.PersistenceException:没有名为em1的EntityManager的持久性提供程序 根据其他StackOverflow帖子,这似乎表明persistence.xml无效。显示了我的persistence.xml。有人能给我指出正确的方向,让我弄明白如何让它发挥作用吗 <?xml version="1.0"
javax.persistence.PersistenceException:没有名为em1的EntityManager的持久性提供程序
根据其他StackOverflow帖子,这似乎表明persistence.xml无效。显示了我的persistence.xml。有人能给我指出正确的方向,让我弄明白如何让它发挥作用吗
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name ="em1">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>data.entry.Movie</class>
<properties>
<property name="eclipselink.target-database"
value="MySQL4"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="mysql3.cs.myschool.edu/mydb"/>
<property name="javax.persistence.jdbc.user" value="mydb" />
<property name="javax.persistence.jdbc.password" value="mypass" />
</properties>
</persistence-unit>
</persistence>
org.eclipse.persistence.jpa.PersistenceProvider
data.entry.Movie
您可以在name=“em1”
之后使用transaction type=“RESOURCE\u LOCAL”
执行此操作吗。另外,`false`不,添加了这两个选项,但仍有一个例外,就是确保persistence.xml位于/WEB-INF/classes/META-INF
设置项目时,IntelliJ会自动创建persistence.xml。它在/src/main/java/META-INF中。我试着把它放在你说的位置,但仍然不起作用。我觉得它看起来不错。您可能想尝试将persistence.xml放在resources/META-INF中,以防使用maven构建jar?如果您是从jar运行的,请确保persistence.xml包含在类路径中(通常在META-INF中)。