当前位置: 首页 > 知识库问答 >
问题:

如何在JAXB反序列化后忽略merge上具有null值的JPA ManyToOne属性?

杜绍元
2023-03-14

示例用例:

class Address {

@XMLTransient
@ManyToOne(cascade={})
private Person person;

}

在我的用例中,地址通过JAXB序列化为XML,在另一个系统中修改,从XML反序列化为分离的JPA实体,然后合并回db(em.merge(Address))。由于Person属性被标记为@XMLTransient,所以它是从XML还原的,并且带有NULL。

米格尔

共有1个答案

连曜灿
2023-03-14

听起来您根本不希望JPA在合并时更新这个关系。那是正确的吗?如果是,您是否尝试在@ManyToOne上设置updatable=false

 类似资料:
  • 问题内容: 我有一个简单的接口与属性的getter和setter。 我还有另一个实现此接口的UserAccount类。 我的问题是我想序列化money属性,但在反序列化它时忽略它,即,不接受用户对此属性的任何值。我在setter上尝试过@JsonIgnore,在getter上尝试过@JsonIgnore(false),它确实会忽略它,但是在序列化它时也会这样做。 我在setter上尝试了@Json

  • 我有另一个类UserAccount实现了这个接口。 我的问题是,我想序列化money属性,但在反序列化时忽略它,即不接受用户对该属性的任何值。我在setter上尝试了@jsonIgnore,在getter上尝试了@jsonIgnore(false),它确实忽略了它,但是它在序列化它的同时也忽略了它。 我在setter上尝试了@jsonIgnore,在getter上尝试了@jsonProperty,

  • 问题内容: 我目前正在使用杰克逊2.1.4,并且在将对象转换为JSON字符串时忽略字段时遇到了一些麻烦。 这是我的类,它充当要转换的对象: 这是我如何转换它: 这是输出: 如何避免这些空值?我只想获取“订阅”目的所需的信息! 这正是我要查找的输出: 我还尝试了@JsonInclude(Include.NON_NULL)并将所有变量都设置为null,但是它也不起作用!感谢您的帮助! 问题答案: 您将

  • 下面是我的类,它充当要转换的对象: 下面是我的转换方法: 输出如下: 下面正是我要查找的输出: 我还尝试了@jsonInclude(include.non_null),并将我的所有变量置为null,但也没有起作用!谢谢你们的帮助!

  • 问题内容: 我有一个用作调用RESTful Web服务的 模板 。这是通过解析器创建的,由于它被用作告诉用户端点模式的模板,因此我不得不想出一种保留所有属性的方法,这就是为什么将其默认值设置为的原因。作为示例,这是对象最初的外观: 然后,用户可以根据需要填写各个字段,例如和: 表示他们只关心这两个领域。现在,我想将此模板()序列化回一个JSON字符串,但只希望显示填充的那些字段。所以我尝试了这个:

  • 我想在Java中反序列化包含空值的json字符串。我想将对象反序列化为对象。json字符串类似于: 当我反序列化使用 由于对象中的that,我得到一个空指针异常。我如何指示Gson忽略空值的反序列化?