我有一个看起来像的架构片段
<xs:element name="dataValue">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type="xs:anyType"\>
</xs:sequence>
</xs:complexType>
</xs:element>
hyperjaxb3 生成的类包含以下片段:
@XmlElement(required = true)
protected Object value;
@Transient
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
@Basic
@Column(name = "VALUEOBJECT")
public String getValueObject() {
if (JAXBContextUtils.
isMarshallable("org.lcogt.schema", this.getValue())) {
return JAXBContextUtils.unmarshall("org.lcogt.schema", this.getValue());
} else {
return null;
}
}
我知道休眠将难以持久化纯对象,因此 hyperjaxb 假设可以将对象解组为 XML 字符串,并持久化生成的字符串。就我而言,这不是真的,但我可以保证 toString() 方法会返回一些有用的东西。我希望生成的代码看起来更像:
@XmlElement(required = true)
protected Object value;
@Transient
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
@Basic
@Column(name = "VALUEOBJECT")
public String getValueObject() {
return value.toString();
}
无论如何我可以获得这种效果或类似的东西吗?
谢谢,
标记。