我正在使用 JAXB 使用 Maven 中的 JAXB 插件从 XSD 生成 bean。这工作正常,期望代码包含每个字段的 isSetXXXXXX() 方法。
例如
对于字段firstName,它生成以下代码:
@XmlElement(name = "FirstName", required = true)
protected String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.token = firstName;
}
public boolean isSetFirstName() {
return (this.firstName!= null);
}
这个 isSetFirstName() 方法会导致问题,我不希望 JAXB 生成这些问题。
有没有办法阻止这种行为?
谢谢。
更新
解决了这个问题:问题出在 xjb 文件中,generateIsSetMethod 设置为 true。
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
bindingStyle="modelGroupBinding"
choiceContentProperty="true" >
<xjc:serializable uid="12343"/>
<jaxb:javaType name="short"
xmlType="xs:long"
printMethod="javax.xml.bind.DatatypeConverter.printShort"
parseMethod="javax.xml.bind.DatatypeConverter.parseShort"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
这也回答了我之前的问题。