为了账号安全,请及时绑定邮箱和手机立即绑定

如何不在 hibernate/springboot 中获取 @ManyToMany 中的集合?

如何不在 hibernate/springboot 中获取 @ManyToMany 中的集合?

慕少森 2023-07-19 14:55:20
我有 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。


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信