如何告诉hyperjaxb3使用什么作为主键?

时间:2013-07-06 00:54:02

标签: hyperjaxb

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

1 个答案:

答案 0 :(得分:0)

文档https://java.net/projects/hyperjaxb/sources/svn/content/trunk/www/doc/reference/en/pdf/reference.pdf

中对此进行了描述

特别是下面引用的部分:

2.2.2.1。自定义标识符属性 标识符属性是可自定义的。您可以强制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中包含所需的参数。