是否可以将 EclipseLink(persistence.xml)与嵌入式 Derby 一起使用

Is it possible to use EclipseLink (with persistence.xml) with Embedded Derby

所以这就是我想要实现的目标:
一个 Java 具有 JPA 实现的应用程序 usinf Embedded Derby。一旦成功,我就计划拥有 Spark(带有 Jetty 服务器)和 Angular js.

这些是我正在使用的tools/frameworks
日食 IDE(月神)
Maven构建系统
JPA 实现 (EclipseLink)
用于数据库的嵌入式 Derby
带有嵌入式 Jetty 服务器的 Spark。
Angular JS

我使用 Derby 嵌入式驱动程序和数据库属性定义了 persistence.xml。 在 Main class 中,我正在使用 EntityManger 来获取 EM。我还创建了 EmbeddedDerby 的新实例来启动引擎。

但是当我 运行 应用程序时,它说 "No Persistence provider Persistence for Entity Manager"named testSparkJettyDerby

这是我的 persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="testSparkJettyDerby" transaction-type="RESOURCE_LOCAL">
    <class>model.MyUser</class>
    <properties>
        <property name="javax.persistence.jdbc.url" value="jdbc:derby:sample;create=true"/>
        <property name="javax.persistence.jdbc.user" value="user"/>
        <property name="javax.persistence.jdbc.password" value="xxxx"/>
        <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
    </properties>       
</persistence-unit>

我的 Main 中的代码片段 Class

    createConnection();

    // TODO Auto-generated method stub
    factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factory.createEntityManager();


private static void createConnection()
{
    try
    {
        Class.forName("org.eclipse.persistence.jpa.PersistenceProvider");
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
        //Get a connection
        conn = DriverManager.getConnection(dbURL);
        if(conn != null) {
          System.out.println("Connected...");
        }
    }
    catch (Exception except)
    {
        except.printStackTrace();
    }
}

我的 derby jar 文件在 class 路径中。

我不确定这是否可行,但我找不到任何做过类似操作的教程或答案。

感谢任何帮助。

提前致谢..

确保您的 persistence.xml 文件位于 类(或任何您的构建目录)/META-INF.