【发布时间】:2015-12-09 16:42:57
【问题描述】:
我以这种方式建立父子关系(来自旧系统)
@Entity
@Table
class A implements Serializable {
........
@jsonmanagedreference("test")
@OneToMany(mappedBy="PK.id", fetch = FetchType.LAZY,)
Set<B> b = new HashSet<B>()
......
setters / getters
}
@Embeddable
class PK {
@jsonbackreference("tets") // can't find it
@ManyToOne
@JoinColumns
A a
}
@Entity
@Table
class B implements Serializable {
@EmbeddedId
private PK pk;
setters / getters
}
它适用于常规操作,问题是我无法序列化 A 对象,因为循环引用。 在我尝试将 @jsonmanagedreference 添加到 A.b 并将 @jsonbackreference 添加到 PK.a 之后它不起作用,因为它找不到 JsonBackReference,如果嵌入类或嵌套的子级,有没有办法在序列化期间管理父子关系?
【问题讨论】:
-
你可以把
@JsonIgnore放在public B getB()上。 -
它是如何工作的?它只是跳过序列化,我需要在反序列化后恢复完整的对象