7

我有一个实体类:

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>

是否可以不发送客户不应该看到的变量之一,例如 customerId?我添加了@XmlTransient,但没有任何变化。

4

2 回答 2

21

默认情况下,公共属性被序列化为 XML。您将需要标记相应的get方法@XmlTransient。如果您希望注释字段,您可以将以下内容添加到您的课程@XmlAccessorType(XmlAccessType.FIELD)中。

了解更多信息

于 2013-09-04T10:08:54.260 回答
1

在我的机器上尝试了@XmlTransient不同的组合@XmlAccessorType(XmlAccessType.FIELD),但它不起作用。

对我有用的隐藏功能是用 注释每个功能@WebMethod(exclude = true),将其隐藏起来wsdl,从而暴露给客户。

于 2016-12-30T08:43:44.543 回答