2

I am having two models which is having many to many relations. I have used @JsonManagedReference and @JsonBackReference to avoid looping.

When I retrieve JSON of Outage class it working fine it has set of instances value, but when I retrieve Instance it is not having outage set there.

Here is my Outage.java

 public class Outage implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 3688202816610111558L;

    @Id
    @GeneratedValue
    @Column(name = "outage_id")
    private long outageId;

    @JsonManagedReference
    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "ManyToMany", 
    joinColumns = @JoinColumn(name = "outage_id"),
    inverseJoinColumns = @JoinColumn(name  = "instance_id"))
    private Set<Instances> instances;

    @Column(name = "start_date")
    private Date startDate;

    @Column(name = "end_date")
    private Date endDate;

    @Column(name = "start_time")
    private Time startTime;

    @Column(name = "end_time")
    private Time endTime;

    @Column(name = "outage_type")
    private int outageType;

    @Column(name = "jira_number")
    private String jiraNumber;

    @Column(name = "reason")
    private String reason;

    }

Here is my Instances.java

public class Instances implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = -5280937805735107384L;

@Id
@GeneratedValue
@Column(name = "instance_id")
private long id;

@Column(name = "name")
private String instanceName;

@ManyToOne
@JoinColumn(name = "application_id")
private Applications applications;

@ManyToOne
@JoinColumn(name = "environment_id")
private Environments environments;

@JsonBackReference
@ManyToMany(cascade = CascadeType.ALL, mappedBy = "instances")
private Set<Outage> outages;

}

Here is my respective JSON

Outage JSON

{
"outageList": [{
    "outageId": 40,
    "instances": [{
        "id": 10,
        "instanceName": null,
        "applications": null,
        "environments": null,
        "version": null
    }, {
        "id": 9,
        "instanceName": "UAT7",
        "applications": null,
        "environments": null,
        "version": null
    }],
    "startDate": "3916-06-06",
    "endDate": "3916-06-06",
    "startTime": "01:00:00",
    "endTime": "12:00:00",
    "outageType": 1,
    "jiraNumber": "123",
    "reason": "checking without applicaion & envi"
}]}

Instances

{
"instancesList": [{
    "id": 9,
    "instanceName": "UAT7",
    "applications": null,
    "environments": null,
    "version": null
}, {
    "id": 10,
    "instanceName": null,
    "applications": null,
    "environments": null,
    "version": null
}]}

Thanks in advance

Karthi Krazz
  • 121
  • 1
  • 2
  • 9

0 Answers0