我在反序列化以下json时遇到了一些问题:
{
children:[{name:"1c"},{name:"2c"},{name:"3c"}]
}
我的课程看起来像这样:
@JsonIdentityInfo(scope=ParentObject.class,generator = ObjectIdGenerators.PropertyGenerator.class, property="id")
public class ParentObject {
int id;
@OneToMany(cascade = CascadeType.ALL,mappedBy="parent",orphanRemoval=true)
Set<Child> children;
}
@JsonIdentityInfo(scope=Child.class,generator = ObjectIdGenerators.PropertyGenerator.class, property="id")
public class Child {
int id;
String name;
@ManyToOne
ParentObject parent;
}
考虑到这一点,我希望Jackson能够自动设置ParentObject。
除了没有设置ParentObject之外,我给出的结构几乎是完美的。这是必要的,因为Hibernate将设置父级的id,然后根据此设置子级的id,这当前为null。
我最初使用JSONManagedReference和BackReference设置它,但它是单向的,当请求单个对象时,父对象将被忽略。
我怎样才能让它发挥作用? 谢谢! 汤姆
答案 0 :(得分:0)
尝试使用@jsonignore @ManyToOne ParentObject父项;
我认为反序列化时不会考虑它并给你一个父对象..
此致
普拉萨德