Tôi có cơ sở dữ liệu MySQL và tôi muốn lấy một số dữ liệu dưới dạng json.truy xuất dữ liệu từ cơ sở dữ liệu dưới dạng json trong khởi động mùa xuân
Và tôi có một thực thể Offre
có quan hệ @OneToMany
liên quan với pháp nhân AssociationCandidatOffre
.
và tôi có một api mà Calles phương pháp này trong kho lưu trữ của tôi:
offreRepository.findAll();
offre thực thể:
@Entity
public class Offre implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "CODE_OFFRE")
private Long codeOffre;
private String titre;
@OneToMany(mappedBy = "offre")
private Collection<AssociationCandidatOffre> associationCandidatOffres;
public Collection<AssociationCandidatOffre> getAssociationCandidatOffres() {
return associationCandidatOffres;
}
public void setAssociationCandidatOffres(Collection<AssociationCandidatOffre> associationCandidatOffres) {
this.associationCandidatOffres = associationCandidatOffres;
}
//... getters/setters
}
thực thể AssociationCandidatOffre:
@Entity
public class AssociationCandidatOffre implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long idAssociation;
private String lettreMotivation;
private String tarifJournalier;
private Date dateDisponibilite;
@ManyToOne
private Candidat candidat;
@ManyToOne
private Offre offre;
@JsonIgnore
@XmlTransient
public Candidat getCandidat() {
return candidat;
}
@JsonSetter
public void setCandidat(Candidat candidat) {
this.candidat = candidat;
}
@JsonIgnore
@XmlTransient
public Offre getOffre() {
return offre;
}
@JsonSetter
public void setOffre(Offre offre) {
this.offre = offre;
}
//... getters/setters
}
vấn đề là khi tôi gọi các api /offres
để trả lại cho tôi một đối tượng json tôi nhận được thông báo lỗi này inste quảng cáo:
Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: could not extract ResultSet (through reference chain: java.util.ArrayList[0]->com.***.Rekrute.entities.Offre["associationCandidatOffres"]);
nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not extract ResultSet (through reference chain: java.util.ArrayList[0]->com.***.Rekrute.entities.Offre["associationCandidatOffres"])
khi tôi sử dụng @JsonIgnore
trong getAssocationCandidatOffres
Tôi không nhận được bất kỳ lỗi nhưng tôi muốn rằng hiệp hội trong kết quả json là tốt.
Thông thường, điều này sẽ không tạo ra bất kỳ lỗi nào vì tôi có @JsonIgnore
ở phía bên kia của mối quan hệ là getOffre()
.
làm cách nào tôi có thể giải quyết vấn đề này?
Bạn có chắc chắn danh sách 'getAssocationCandidatOffres' được điền không? Hãy nhớ rằng các IDE trong chế độ gỡ lỗi thường sẽ chạy một truy vấn để có được bất kỳ danh sách tải chậm nào trong nền khi bạn mở rộng danh sách. – dambros