Java 可以选择通过JAXB序列化类属性吗?

Java 可以选择通过JAXB序列化类属性吗?,java,xml,serialization,jaxb,jax-ws,Java,Xml,Serialization,Jaxb,Jax Ws,是否可以使用一些动态标志通过JAX-B选择性地序列化类的属性 e、 假设我有 @XmlRootElement public class TodoItem { private int id; private String title; private String note; // getters, setters } 以及以下web服务操作: public TodoItem getTodoItemFull(int id) { .... } public TodoItem ge

是否可以使用一些动态标志通过JAX-B选择性地序列化类的属性

e、 假设我有

@XmlRootElement
public class TodoItem {
 private int id;
 private String title;
 private String note;

 // getters, setters

}
以及以下web服务操作:

 public TodoItem getTodoItemFull(int id) {  .... }
 public TodoItem getTodoItemMinimal(int id) { .... }
我是否可以使用一个特殊的注释,以便在运行时决定是否序列化属性“note”?换句话说,getTodoItemFull()方法将返回完全序列化的类,而getTodoItemMinimal()方法将返回没有“note”xml元素的序列化类


谢谢

可以通过对对象模型应用多个映射来实现这一点。标准JAXB只允许通过注释应用一个映射。其他JAXB实现,如MOXy(我负责此实现),也允许您将元数据表示为XML:


您可以在完全映射“getTodoItemFull”将使用的对象模型的一组元数据上构建一个JAXBContext,在部分映射GetToDoItemMinInMail将使用的对象模型的另一组元数据上构建另一个JAXBContext。标准JAXB只允许通过注释应用一个映射。其他JAXB实现,如MOXy(我负责此实现),也允许您将元数据表示为XML:

您可以在完全映射“getTodoItemFull”将使用的对象模型的一组元数据上构建一个JAXBContext,并在部分映射getTodoItemMininmal将使用的对象模型的另一组元数据上构建另一个JAXBContext