java - Hibernate deletes and reinserts the entire collection of components when I change one of the elements -
मेरे पास निम्न तालियां हैं:
निम्नलिखित कक्षाएं:
सार्वजनिक वर्ग अभिभावक {निजी इंट आईडी; निजी सेट & lt; बाल & gt; बच्चे; // गेटर्स और सेटर्स} पब्लिक क्लास चाइल्ड {निजी इंट आईडी; निजी स्ट्रिंग अट्र; // गेटर्स और सेटर्स सार्वजनिक एक्ट हैशोड () {return.getId (); } सार्वजनिक बूलियन बराबर (वस्तु obj) {वापसी obj उदाहरण के बच्चे & amp; This.getId () == ((बाल) obj) .getId (); }}
और निम्न हाइबरनेट मानचित्रण:
& lt; class name = "parent" table = "parent" & gt; & Lt; id name = "id" column = "id" / & gt; & Lt; सेट नाम = "बच्चों" तालिका = "बच्चे" & gt; & Lt; key column = "id_parent" / & gt; & Lt; संमिश्र-तत्व वर्ग = "बाल" & gt; & Lt; प्रॉपर्टी नाम = "id" column = "id" / & gt; & Lt; संपत्ति नाम = "एट्रि" कॉलम = "एट्रि" / & gt; & Lt; / समग्र तत्व & gt; & Lt; / सेट & gt; & Lt; / वर्ग & gt;
जब भी मैं attr
विशेषता को बाल
से बदलता / करता हूं / या child
को / से हटा देता हूं संकलन और लेन-देन करना, पूरे संग्रह को हटा दिया जाता है और शेष बच्चों को नए विशेषता मूल्यों के साथ पुन: नियुक्त किया जाता है।
अन्य विषय इस पर चर्चा करते हैं, और लोग हमेशा equals ()
और हैश कोड ()
या संग्रह एक सूची या बैग है। लेकिन यह बहुत ही सरल मामला में मुझे नहीं लगता कि ये समस्या है।
ऐसा इसलिए है क्योंकि मैं एक इकाई ( parent
) और एक घटक वर्ग ( एक-से-कई संबंधों में दो संस्थाओं का उपयोग करने के बजाय बाल
)
Comments
Post a Comment