JAXB 为每个属性生成 @XmlAttribute 注释。例如,属性
<xsd:attribute name="agent_id" use="required" type="xsd:unsignedInt">
<xsd:annotation><xsd:documentation xml:lang="en">Foreign key reference to Agent.agent_id, Included in composite primary key</xsd:documentation></xsd:annotation>
</xsd:attribute>
被翻译为带注释的java对象属性
@XmlAttribute(name = "agent_id", required = true)
@XmlSchemaType(name = "unsignedInt")
protected long agentId;
但是,如果属性的名称中没有下划线,则 @XmlAttribute 中的名称字段会丢失(因此会缺少 ##default)。我想自定义 JAXB 绑定(bind),以便生成不带下划线的名称注释。有什么建议吗?
谢谢! 约翰内斯
最佳答案
您可以编写一个 XJC 插件来添加此行为:
就 JAXB (JSR-222) 实现而言,结果 XML 将是相同的。
关于java - 如何自定义 JAXB 生成的 java 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10879316/