JsonManagedReference vs JsonBackReference

2022-08-31 16:40:28

我想知道 杰克逊 和 之间的区别?@JsonManagedReference@JsonBackReference


答案 1

@JsonManagedReference是引用的正向部分 - 正常序列化的部分。@JsonBackReference是引用的后半部分 - 它将在序列化中省略。

所以他们真的取决于你们关系的方向。

public class User {
    public int id;
    public String name;

    @JsonBackReference
    public List<Item> userItems; 
} 

public class Item {
    public int id;
    public String itemName;

    @JsonManagedReference
    public User owner; 
 }

答案 2

我更喜欢

属性是主键字段的名称,范围是它的类型@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id", scope = Long.class)


推荐