2.2 版本 Orm.xml 编组在 Java EE 8/Glassfish v5/JPA 2.2(EclipseLink 2.7) 中失败

2.2 versioned Orm.xml marshaling failed in Java EE 8/Glassfish v5/JPA 2.2(EclipseLink 2.7)

我正在尝试添加一个 orm.xml 来为所有实体注册一个 EntityListener。

以下 orm.xml 将在部署到 Glassfish v5 时导致控制台中出现编组异常。

<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm
          http://xmlns.jcp.org/xml/ns/persistence/orm_2_2.xsd"
                   version="2.2">
    <persistence-unit-metadata>
        <persistence-unit-defaults>
            <entity-listeners>
                <entity-listener class="com.github.hantsy.ee8sample.support.AuditEntityListener" />
            </entity-listeners>
        </persistence-unit-defaults>
    </persistence-unit-metadata>
</entity-mappings>

但是如果我把版本改成2.1,异常就会消失

这是 EclipseLink 特定的错误吗?

2.7.0 中的已知问题,详见https://bugs.eclipse.org/bugs/show_bug.cgi?id=521954

顺便说一句:2.1 和 2.2 版本的模式除了版本号变化外没有区别