首先,为这个冗长的问题道歉。
我有许多由 Cayenne 生成的类,如下所示。
public abstract class _Form extends CayenneDataObject {
public static final String NAME_PROPERTY = "name";
public static final String FORM_ELEMENT_PROPERTY = "formElement";
public static final String FORM_ELEMENT1_PROPERTY = "formElement1";
public static final String FORM_ELEMENT2_PROPERTY = "formElement2";
public static final String ID_PK_COLUMN = "ID";
public void setName(String name) {
writeProperty("name", name);
}
public String getName() {
return (String)readProperty("name");
}
public void addToFormElement(FormElement obj) {
addToManyTarget("formElement", obj, true);
}
public void removeFromFormElement(FormElement obj) {
removeToManyTarget("formElement", obj, true);
}
@SuppressWarnings("unchecked")
public List<FormElement> getFormElement() {
return (List<FormElement>)readProperty("formElement");
}
}
我希望将其转换为 XML 模式,最好使用绑定表示法。首先要注意的是上面的代码是一个“_Form.java”文件,但还有一个生成的“Form.java”文件扩展了这个类,如下所示。我知道不应更改“_Form.java”(上图)。
import forms.cayenne.persistent.auto._Form;
public class Form extends _Form {
}
本质上,我希望将它和其他一些类转换为 XML,就像我在下面这个简单的类示例中所做的那样,使用 xml 绑定。
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "Form")
public class Form {
String name;
long ID;
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlAttribute
public long getID() {
return ID;
}
public void setID(long formID) {
this.ID = formID;
}
}
我应该对生成的类进行哪些更改以生成以下 XML?
<Form id="1">
<name>test</name>
</Form>