我有 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
提交
取消