我有 3 個表,公司、優惠券、客戶。許多公司應該有很多優惠券,很多客戶應該有很多優惠券。一切工作正常,除了當我打電話給優惠券/客戶時我不想獲得優惠券集合這一事實之外。我正在使用 Swagger 來測試該應用程序,并且我正在向客戶/公司獲取優惠券集合。我確實嘗試添加 LAZY 獲取類型,但它不起作用,我實際上不確定如何調用它。我不想在致電公司時收到優惠券集合。@Entitypublic class Company {@Id@GeneratedValue(strategy = GenerationType.AUTO)@Columnprivate long id;@ManyToManyprivate List<Coupon> coupons;private String name;private String email, password;public Company() {}public Company(long id, String name, String email, String password) { this.id = id; this.name = name; this.email = email; this.password = password;}@Entitypublic class Coupon {@Id@GeneratedValue@Columnprivate long id;private String title;private String message;private double price;private int amount;@Enumerated(EnumType.STRING)@Column(columnDefinition = "varchar(32) default 'OTHER'")private CouponType type = CouponType.OTHER;@Enumerated(EnumType.STRING)@Column(columnDefinition = "varchar(32) default 'SALE'")private CouponStatus status = CouponStatus.SALE;這是我在大搖大擺地打電話給一家公司時得到的 JSON{ "id": 2, "coupons": [], "name": "Macdonalds", "email": "Macdonalds", "password": "123"}
1 回答

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
如果你不希望在創建json時被序列化(springboot中默認),則需要將其排除。在 Jackson 中,只需用以下注釋即可@JsonIgnore:
@JsonIgnore
@ManyToMany
private List<Coupon> coupons;
另一方面,在 gson 中,您必須用 注釋所有其他字段@Expose。
添加回答
舉報
0/150
提交
取消