0

我正在做一个将一堆 xml 导入 mysql 数据库的项目。我发现工具 hyperjaxb3 作为 maven 插件工作并生成 jpa / jaxb 注释的 java 类,我可以使用这些类来编组 xml 并将其吸入,但它会创建自己的主键字段。我如何摆脱它以支持架构中存在的字段?

4

1 回答 1

0

这在文档https://java.net/projects/hyperjaxb/sources/svn/content/trunk/www/doc/reference/en/pdf/reference.pdf中有描述

特别是下面引用的部分:

2.2.2.1。自定义标识符属性 Identifier 属性是可自定义的。您可以强制 Hyper-JAXB 使用现有属性作为标识符,而不是生成新的 idInternal 属性。为此,请将 @hyperjaxb.hibernate.id 包含到属性 javadoc 注释中(来自简单测试):

<xsd:complexType name="EntryType"> <xsd:sequence><!-- ... --></xsd:sequence> >
<xsd:attribute name="id" type="xsd:string"> <xsd:annotation> <xsd:appinfo>
<jaxb:property>     
<jaxb:javadoc> @hyperjaxb.hibernate.id unsaved-value="null" generator-class="uuid.hex"

</jaxb:javadoc>
</jaxb:property>
</xsd:appinfo>
</xsd:annotation> </xsd:attribute> </xsd:complexType>

如果您使用需要参数化的 id 生成器,请在 @hyperjaxb.hibernate.generator-param 中包含所需的参数。

于 2013-08-01T21:05:16.963 回答