0

JSON形式でサービスに送信するエンティティをマップしました。これが私のエンティティです

@Entity
@Table(name = "company")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Company implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    @Column
    private String name;

    @OneToMany(mappedBy = "company")
    @Cascade(value = CascadeType.ALL)
    private Collection<Employee> employees;

私の従業員クラス

@Entity
@Table(name = "employee")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Employee implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    Integer id;

    @Column
    String name;

    @ManyToOne()
    @Cascade(value = org.hibernate.annotations.CascadeType.ALL)
    @JoinColumn(name = "company_id", referencedColumnName = "id")
    private Company company;

しかし、適切なjson形式ではありません。

{
    "id": 1,
    "name": "Tim",
    "company": {
        "id": 1,
        "name": "Microsoft",
                        "employees": [1, {
                            "id": 5,
                            "name": "Jack",
                            "company": 1
                        }, {
                            "id": 6,
                            "name": "Jack",
                            "company": 1
                        }, {
                            "id": 7,
                            "name": "Jack",
                            "company": 1
                        }, {
                            "id": 8,
                            "name": "Tommy",
                            "company": 1
                        }]
    }
}

しかし、私が言ったように、「会社」に「従業員」オブジェクトは必要ありません。私のJSONファイルでそれを除外する方法は?

4

1 に答える 1