杰克逊极限级联序列化

时间:2018-11-27 15:30:16

标签: json jackson

如何配置杰克逊以限制级联序列化。

我有一个File类,其属性之一是parentFile。

@Entity
class File{

    @ManyToOne(fetch = FetchType.LAZY)
    protected File parent;

    @JsonIgnore
    @OneToMany(mappedBy = "parent")
    protected Set<File> childFiles;
}

因此,当我序列化文件时,杰克逊会序列化父对象,依此类推,直到到达根文件为止。 我只想序列化文件及其父文件,就是这样,有可能吗?

1 个答案:

答案 0 :(得分:0)

我找到了使用此批注@JsonIgnoreProperties的解决方案。这样我就可以序列化完整的父文件,但没有其自己的父文件。

@Entity
class File{

    @ManyToOne(fetch = FetchType.LAZY)
    @JsonIgnoreProperties("parent")
    protected File parent;

    @JsonIgnore
    @OneToMany(mappedBy = "parent")
    protected Set<File> childFiles;
}