Pessoal, tenho as seguintes classes:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "company")
public class CompanyModel {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Type(type = "uuid-char")
private UUID id;
@Column(nullable = false)
private String name;
@Column(nullable = false, unique = true)
private String email;
@Column(nullable = false, unique = true)
private String cnpj;
@Column(nullable = false, unique = true)
private String cellphone;
@Column(nullable = false, unique = true)
private String login;
@Column(nullable = false, unique = true)
private String password;
@Column(nullable = false)
private String postalCode;
@Column(nullable = false)
private String state;
@Column(nullable = false)
private String city;
@Column(nullable = false)
private String district;
@Column(nullable = false)
private String street;
@Column(nullable = false)
private String number;
@Column
private String referencePoint;
@JsonIgnoreProperties("company")
@OneToMany(cascade = {CascadeType.REFRESH,CascadeType.REMOVE}, fetch = FetchType.LAZY, mappedBy="company")
private List<ProductModel> products;
e
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "products")
public class ProductModel {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Type(type = "uuid-char")
private UUID id;
@Column(nullable = false)
private String productName;
@Column(nullable = false)
private Double price;
@Column(nullable = false, length = 400)
private String description;
@Column(nullable = false)
private boolean active;
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
@JoinColumn(name = "company_id", referencedColumnName = "id")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private CompanyModel company;
}
Meu problema é quando cadastro um produto em uma empresa, quando listo essa empresa o json retornado me devolve dados desnecessários. Exemplo: Percebam que ele me retorna novamente o nome da empresa etc e mais embaixo ainda retorna novamente os produtos de tal empresa, como que faço que ele me retorne APENAS UMA VEZ a empresa e seus produtos.