में पैरेंट-आईडी प्राप्त करें मेरे पास दो इकाइयों के साथ एक बिडरेक्शनल रिलेशनशॉप (एक से कई, एक से एक) के साथ एक वसंत विश्राम अनुप्रयोग है। नेस्टेड फ़ेचिंग समस्याओं को दूर करने के लिए, @ जेसन मैनेज्ड रेफरेंस/@ जेसनबैक रेफरेंस का उपयोग संस्थाओं के बीच एक अनुवर्ती/बाल संबंध के लिए किया गया है।एक बिडरेक्शनल हाइबरनेट मैपिंग
entites इस रूप में देखने के लिए:
@Entity
@Table(name = "Parent")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Parent implements java.io.Serializable {
private Integer id;
private List<Child> childList;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "ID", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
@JsonManagedReference
public List<Child> getChildList() {
return childList;
}
public void setChildListe(List<Child> childListe) {
this.childList = childList;
}
}
@Entity
@Table(name = "Child")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Child implements java.io.Serializable {
private Integer id;
private Parent parent;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "ID", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ParentID")
@JsonBackReference
public Parent getParent() {
return parent;
}
public void setParent(Parent parent) {
this.parent = parent;
}
}
यह ठीक काम करता है जब जनक तत्व प्राप्त करने में कठिनाई, childset तो साथ दिलवाया और एक json सरणी के रूप में प्रदर्शित है।
हालांकि, jsonbackreferance के उपयोग के कारण बच्चे तत्व में माता-पिता का कोई संदर्भ नहीं है।
मैं या तो जेसन प्रतिक्रिया में बच्चे-ग्यारह से जुड़ी मूल वस्तु को प्राप्त करना चाहता हूं, या कम से कम एक सिंगल बाल तत्व के लिए अनुरोध करते समय, कम से कम मूल आईडी प्राप्त करना चाहता हूं।
सभी प्रतिक्रिया appriciated जाएगा :)
मैं भी है इस मुद्दे – esoni
समस्या इस प्रकार का हल करने के लिए किया जा सकता है आमतौर पर आपके डिजाइन के साथ एक मुद्दा से उपजी है। यदि रिफैक्टरिंग का कोई मौका नहीं है तो आप पूरी तरह से बैक संदर्भ के बजाय बच्चे को स्पष्ट रूप से मूल आईडी जोड़ सकते हैं। –