【发布时间】:2016-04-18 18:36:31
【问题描述】:
当它被外键调用时,我需要序列化一个只有两列的实体。我在 Wildfly 工作,所以我正在寻找杰克逊的解决方案。
假设我有实体类 A
public class A{
private Long id;
private String name;
private String anotherinfo;
private String foo;
...
}
和另一个 B 类:
public class B{
private Long id;
private String name;
private A parent;
}
当我搜索 A 时,我想用他的所有字段序列化 A,但是当我需要检索 B 的一个 istance 时,我只需要两个字段(一个 ID 和一个标签)
如果我使用注释:
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
@JsonIdentityReference(alwaysAsId=true)
private A parent;
我将只返回 id。
我想要的结果是:
B: {
"id" : 1,
"name" : "test",
"parent" : {
"id" : 1,
"name" : 2
}
}
【问题讨论】:
-
对字段使用关键字transient,它们不会被序列化。
-
transient 关键字在这里可能会有所帮助。
-
@LearningPhase 例如,如果您在“anotherinfo”上使用 Transient,则该字段将永远不会被序列化。当我要求对象 A 时,我需要另一个信息
标签: java json serialization jackson