Jpa Hyperjaxb忽略binding.xjb中的自定义

Jpa Hyperjaxb忽略binding.xjb中的自定义,jpa,jaxb,hyperjaxb,Jpa,Jaxb,Hyperjaxb,我正在使用hyperjaxb3,它成功地解决了我的大部分问题 然而,我花了一上午的时间来解决一个我无法解决的问题。最有可能的是,这是我完全忽略的愚蠢的事情之一,但我无法找到它 问题是,在bindings.xjb中,我试图更改我的一个实体的生成表名,但无论我尝试什么,我设置的值都会被完全忽略 以下是相关文件的内容: XSD文件(只是一个片段) 我绝对肯定绑定文件正在被读取:我已经检查了maven日志,如果我为xpath表达式设置了一些奇怪的值,我会得到一个与它们相关的运行时异常 此外,它不仅忽略了

我正在使用hyperjaxb3,它成功地解决了我的大部分问题

然而,我花了一上午的时间来解决一个我无法解决的问题。最有可能的是,这是我完全忽略的愚蠢的事情之一,但我无法找到它

问题是,在bindings.xjb中,我试图更改我的一个实体的生成表名,但无论我尝试什么,我设置的值都会被完全忽略

以下是相关文件的内容:

XSD文件(只是一个片段)

我绝对肯定绑定文件正在被读取:我已经检查了maven日志,如果我为xpath表达式设置了一些奇怪的值,我会得到一个与它们相关的运行时异常

此外,它不仅忽略了表名定制。我尝试更改实体名称、模式,为简单属性设置不同的列长度。。。在所有这些测试中,输出始终与我上面复制的相同

我也检查了现有的样品,但看不出我做错了什么


关于

好的,找到了问题,它与我的XSD文件的结构有关

只是使用

xs:element[@name='structure']
在我的绑定上,文件是不够的。看起来,表映射定制只有在与complexTypes关联时才起作用,所以只要我将其更改为

xs:element[@name='structure']/xs:complexType
一切正常:)

希望这对将来的人有所帮助。

本文作者。这是一个正确的解决方案。我正要把它寄出去。
<dependencies>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.2.11</version>
    </dependency>
    <dependency>
        <groupId>org.jvnet.hyperjaxb3</groupId>
        <artifactId>hyperjaxb3-ejb-runtime</artifactId>
        <version>0.6.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.hyperjaxb3</groupId>
            <artifactId>maven-hyperjaxb3-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <debug>false</debug>
                <extension>true</extension>
                <variant>ejb</variant>
                <generateDirectory>src/main/java</generateDirectory>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>**/persistence.xml</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>
@XmlRootElement(name = "structure")
@Entity(name = "Structure")
@Table(name = "STRUCTURE_")
@Inheritance(strategy = InheritanceType.JOINED)
public class Structure
    implements Serializable, Equals, HashCode
{
}
xs:element[@name='structure']
xs:element[@name='structure']/xs:complexType