Spring ManyToMany隐藏对象字段

时间:2018-03-07 17:29:51

标签: java spring jpa spring-boot many-to-many

我是春季开发的新手,我做了一个示例项目来更好地理解这个框架。我有一个实体User,并且与同一个@ManyToMany对象有User个关系(请参阅代码段)

@Entity
@Table(name = "item")
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = {"createdAt", "updatedAt"}, allowGetters = true)
public class Item implements Serializable {

    /*
        Other entity properties...
    */

    @JsonManagedReference
    @ManyToMany(cascade={CascadeType.ALL})
    @JoinTable(name="candidate",
            joinColumns={@JoinColumn(name="itemId")},
            inverseJoinColumns={@JoinColumn(name="candidateItemId")})
    private List<Item> candidateItems;

    public List<Item> getCandidateItems() {
        return candidateItems;
    }
}

一切都按预期工作但是我想隐藏candidateItems在我的内部对象上(对于candidateItems数组中的那些对象(参见json))

{
    "createdAt": 1520374599000,
    "updatedAt": 1520374600000,
    "candidateItems": [
        {
            "createdAt": 1520374599000,
            "updatedAt": 1520374600000,
            "candidateItems": [] // <-------------- no need this!!!
        },
        {
            "createdAt": 1520374599000,
            "updatedAt": 1520374600000,
            "candidateItems": [] // <-------------- no need this!!!
        }
    ]
}

那么可以这样做吗?或者我需要创建除candidateItems以外的相同字段的其他实体?

0 个答案:

没有答案