标签: xmltransient

从xml消息隐藏实体变量 - @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 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)
.
.
.
.
Run Code Online (Sandbox Code Playgroud)

我在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>
Run Code Online (Sandbox Code Playgroud)

是否有可能不发送其中一个变量,例如customerId,客户端应该看不到?我添加了@XmlTransient,但没有变化.

java xml web-services jaxb xmltransient

7
推荐指数
1
解决办法
2万
查看次数

JAXB 多重继承 propOrder

我有一个像

public class Grandpa...

public class Father extends Grandpa...

public class Son extends Father...
Run Code Online (Sandbox Code Playgroud)

我想用 propOrder 注释将其编组到文件。

所以我可以在 Grandpa 上使用 @XmlTransient 并在 Father 类上设置 propOrder,但是如何将 propOrder 应用于所有 3 个类?

据我了解,“@XmlTransient”方法仅适用于一个超类和一个子类?

java inheritance jaxb xmltransient

5
推荐指数
1
解决办法
1323
查看次数

仅在 getter 上使用 XmlTransient 注释?

我正在尝试将 XML 解组为一个我期望应该具有特定字段的对象。但是,我不想将该对象编组到包含它的 XML 中。我喜欢的是类似于这样的:

@XmlRootElement(name = "User")
public class User {

    private String name;

    @XmlTransient
    public String getName() {
        return this.name
    }

    @XmlElement(name = "Name")
    public void setName(String name) {
        this.name = name
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,由于注释冲突,这不起作用,因为我无法将任何其他 XML 注释与@XmlTransient. 我还尝试@XmlTransient在字段本身而不是 getter 上添加注释,并设置了此选项:

XmlAccessorType(XmlAccessType.FIELD)

此外,我将@XmlElement注释保留在设置器上,这对于排除该字段进行编组绝对没有任何作用。

我想保留@XmlElement注释,因为我希望能够将具有不同名称的字段(这里只是大小写差异)翻译成我想要的任何字段。

我也无法删除 getter,因为我确实在应用程序中使用了它。

鉴于此,我不知道此时我的选择是什么,除了编写一个适配器(我可以这样做,但如果有另一种解决方案,我宁愿不使用自定义适配器,因为这个字段)。任何帮助将不胜感激。

java xml jaxb marshalling xmltransient

2
推荐指数
1
解决办法
4872
查看次数

标签 统计

java ×3

jaxb ×3

xmltransient ×3

xml ×2

inheritance ×1

marshalling ×1

web-services ×1