Java 从xml消息隐藏实体变量-@XmlTransient不工作

Java 从xml消息隐藏实体变量-@XmlTransient不工作,java,xml,web-services,jaxb,xmltransient,Java,Xml,Web Services,Jaxb,Xmltransient,我有一个实体类: public class Customer implements Serializable { private static final long serialVersionUID = 1L; @XmlTransient @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "CUSTOMER_ID") private Integer cu

我有一个实体类:

public class Customer implements Serializable {
private static final long serialVersionUID = 1L;

@XmlTransient
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "CUSTOMER_ID")
private Integer customerId;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 30)
@Column(name = "NAME")
private String name;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 30)
@Column(name = "ADDRESSLINE1")
private String addressline1;
@Basic(optional = false)
.
.
.
.
我在jax ws web服务中通过xml发送了该类的对象,如下所示:

<addressline1>xx</addressline1><addressline2>xx</addressline2><city>xx</city><country>xx</country><creditLimit>xx</creditLimit><customerId>xx</customerId><email>xx</email><name>xx</name><owner>xx</owner><phone>xx</phone><province>xx</province><zip>xx</zip>
xxxxxxxxxxxxxxxxxxxx
是否可以不发送客户机不应该看到的customerId之类的变量?
我添加了@XmlTransient,但没有任何更改。

默认情况下,公共属性序列化为XML。您需要标记相应的
get
方法
@xmltransive
。如果希望对字段进行注释,可以将以下内容添加到类
@xmlacessortype(xmlacesstype.FIELD)

了解更多信息


尝试了
@xmltransive
@xmlacessortype(xmlacesstype.FIELD)
的不同组合,但在我的机器上无法工作


对我来说,隐藏函数的工作就是用
@WebMethod(exclude=true)
注释每个函数,从而将其隐藏在
wsdl
中,从而暴露给客户端。

感谢您的回复,工作得很好。这些小东西很难找到。