从JPA 2.1升级到JPA 2.2

时间:2017-10-06 08:29:23

标签: java jpa eclipselink jpa-2.2

我在升级到JPA 2.2时遇到问题。我正在使用eclipselink并更改了我的pom中的版本:

<?xml version="1.0" encoding="UTF-8" ?>
<persistence 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_2.xsd"
    version="2.2">
<persistence-unit name="foo" transaction-type="RESOURCE_LOCAL">
    <class>my.entity</class>
    <properties>
        <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:derby:foo/data;create=true" />
        <property name="javax.persistence.jdbc.user" value="user" />
        <property name="javax.persistence.jdbc.password" value="pwd" />

        <property name="eclipselink.ddl-generation" value="create-or-extend-tables" />
        <property name="eclipselink.ddl-generation.output-mode" value="database" />
    </properties>

</persistence-unit>
</persistence>

我还更新了persistence.xml以指向xsd的正确版本:

hadoop jar <jar> [mainClass] args...

问题是我收到以下错误消息:

  

persistence.xml文件没有此JPA平台支持的内容。

我查看了eclipselink文档,没有任何内容向我发出。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

从JPA 2.0升级到2.1后,我遇到了同样的错误消息;我还通过将Eclipse Project JPA设置中的JPA平台升级到EclipseLink 2.5.x来摆脱它。

答案 1 :(得分:0)

安装一个非正式的JPA 2.2支持补丁解决了我的问题

帮助>安装新软件>

https://dl.bintray.com/danjaredg/eclipse-jpa2.2/eclipse-4.13/