@OneToMany (mappedBy = "...") और @OrderColumn का संयोजन हाइबरनेट द्वारा समर्थित नहीं है। यह जेआईआरए मुद्दा इस अमान्य संयोजन का उपयोग करते समय एक और स्पष्ट त्रुटि संदेश फेंकने का अनुरोध ट्रैक करता है: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5390
मुझे लगता है कि यह मुख्य रूप से समर्थित नहीं है क्योंकि यह एक विषम संबंध पैटर्न है। उपर्युक्त टिप्पणियां इंगित करती हैं कि रिश्ते का "एक" पक्ष निर्धारित करता है कि रिश्ते को डेटाबेस में कैसे पहुंचाया जाएगा, लेकिन ऑर्डर/स्थिति केवल सूची की जांच करके "कई" पक्ष पर उपलब्ध है। यह संबंधों के स्वामित्व के लिए "कई" पक्ष के लिए अधिक समझ में आता है, क्योंकि वह पक्ष सदस्यता और तत्वों के क्रम दोनों के बारे में जानता है।
हाइबरनेट एनोटेशन डॉक्स कुछ विस्तार से इस स्थिति का वर्णन:
http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-hibspec-collection-extratype-indexbidir
वैकल्पिक हल "mappedBy" विशेषता है, जो संघ एक के बजाय डिफ़ॉल्ट में शामिल होने तालिका रणनीति का उपयोग करने के कारण होगा दूर करने के लिए है लक्ष्य तालिका पर कॉलम। आप @ जॉइनटेबल एनोटेशन का उपयोग करके जॉइन टेबल का नाम निर्दिष्ट कर सकते हैं।
इस परिवर्तन का शुद्ध प्रभाव यह है कि रिश्ते के "कई" पक्ष अब निर्धारित करते हैं कि रिश्ते कैसे बने रहे हैं। आपके जावा कोड को यह सुनिश्चित करने की ज़रूरत है कि सूची ठीक से अपडेट की गई है, क्योंकि इकाइयों को फ़्लश करते समय हाइबरनेट अब "एक" पक्ष की उपेक्षा करेगा।
आप अभी भी "एक" साइड जावा में सुलभ करना चाहते हैं, यह
@ManyToOne
@JoinColumn(name="...", insertable=false, updatable=false, nullable=false)
स्रोत
2010-08-13 20:08:17
आप दिखा सकते हैं आप पुनः आदेश है अपनी सूची और बचाने के डेटाबेस पर वापस ??? –
मैंने नई ऐरेलिस्ट और parent.setChildrenCollection (newList) मैंने पुनर्प्राप्ति सूची पर Collections.sort की कोशिश की है। मैंने संग्रह से शून्य वस्तुओं को हटाने का भी प्रयास किया है। कुछ नहीं हुआ। माता-पिता में अन्य चट्टान डेटाबेस में सहेजे गए थे, लेकिन सूची के साथ कुछ भी नहीं हुआ। –
जेपीए 1.0 के लिए हाइबरनेट 3.5 नहीं है, और @ ऑर्डर कॉलम जेपीए 2.0 है ?! –