मैं हाइबरनेट और जेपीए के साथ काम कर रहा हूं। मैं Customer
नामक संस्था का संदर्भ देता है एक ParentCustomer
है:शून्य ऑब्जेक्ट अगर इकाई नहीं मिली
public class Customer {
@Id
@GeneratedValue
@Column(name = "CustomerID")
private int id;
@ManyToOne
@JoinColumn(name = "ParentCustomerID")
private Customer parent;
// ...
}
लेकिन मेरी DB में कुछ ग्राहकों को कोई माता पिता है कि इतने ParentCustomerID
0
पर सेट किया जाता है। अपवाद मैं जब मैं अपने वर्ग का परीक्षण है:
javax.persistence.EntityNotFoundException: Unable to find it.keyforup.pat.data.entities.Customer with id 0
वहाँ ParentCustomer
null
करने के लिए सेट करने के लिए जब आईडी 0
है कोई तरीका है?
तुम क्यों कहते हैं कि 0? यदि आप इकाई को 'शून्य' होना चाहते हैं, तो विदेशी कुंजी मान 'शून्य' होना चाहिए। –
मैं किसी तृतीय पक्ष एप्लिकेशन द्वारा उपयोग किए जाने वाले डीबी पर काम कर रहा हूं, इस एप्लिकेशन ने पेरेंट आईडी को 0 पर सेट किया है जब ग्राहक के लिए कोई अभिभावक नहीं है ... इसलिए मैं यह सुनिश्चित कर दूंगा कि प्रत्येक बार जब माता-पिता को माता-पिता नहीं मिले 'संपत्ति शून्य पर सेट है। – davioooh
हालांकि यह वैध डेटाबेस व्यवहार नहीं है। इसके अलावा यदि सख्त डेटाबेस प्रतिबंध सत्यापन को इंगित किया गया था तो वे ऐसा भी नहीं कर सके .. –