5

मेरे पास एक ओरेकल डेटाबेस पर हाइबरनेट का उपयोग करने वाला एक प्रोजेक्ट है जिसके लिए सभी इकाइयां हाइबरनेट उपकरण से सीधे hibernate.reveng.xml फ़ाइल के नियंत्रण में उत्पन्न होती हैं।मैं hibernate.reveng.xml का उपयोग कर स्वयं-रेफरेंसियल कई-से-कई सेट का नाम कैसे बदल सकता हूं?

मैं एक वर्ग है जो अपने आप को एक बहुत-से-अनेक संबंध एक मध्यस्थ तालिका का उपयोग, इसलिए की तरह है है

PERSON: 
    ID 
    ... 

PERSON_PERSON: 
    PARENT_ID --> PERSON.ID 
    CHILD_ID --> PERSON.ID 

किसी भी विशिष्ट निर्देशों के बिना, हाइबरनेट उपकरण स्वचालित रूप से एक वर्ग है कि इस तरह दिखता है उत्पन्न होगा :

public class Person { 
    private Long id; 
    private Set<Person> personsForParentId = new HashSet<Person>(0); 
    private Set<Person> personsForChildId = new HashSet<Person>(0); 
} 

के बाद से है कि बहुत उपयोगी है जब यह निर्धारित करने के लिए माता पिता सेट है और जो बच्चे सेट है कोडिंग नहीं है, मैं उन्हें 'के रूप में माता-पिता' और 'बच्चों' का नाम बदलने के लिए करना चाहते हैं।

मैं उस क्षेत्र का नाम बदलने के लिए इसे मजबूर करने के लिए hibernate.reveng.xml संपादित कर रहा हूं, लेकिन मुझे ऐसा कुछ नहीं मिल रहा है जो काम करता है। मुझे यकीन नहीं है कि मैं व्यक्ति तालिका, PERSON_PERSON तालिका, या दोनों पर एक परिवर्तन निर्दिष्ट कर रहा हूं, और कौन सा गुण बदलना है।

मुझे इन वर्गों को मैन्युअल रूप से सेट करने के लिए उपयोग किया जाता है, लेकिन इस प्रोजेक्ट पर मेरे पास बिल्ड प्रक्रिया पर नियंत्रण नहीं है, इसलिए मुझे हाइबरनेट टूल्स द्वारा उत्पन्न होने वाली चीज़ों के साथ करना है, इसलिए मुझे वास्तव में बस जो कुछ मैं चाहता हूं उसे करने के लिए हाइबरनेट उपकरण बनाएं।

+1

मुझे यकीन है कि यह उनको उत्पन्न करने के लिए SQL मेटाडेटा का उपयोग कर रहा है। इसलिए, मुझे नहीं लगता कि आप स्वचालित प्रक्रिया को अपने पास से विचलित करने में सक्षम होने जा रहे हैं। – javamonkey79

उत्तर

1

आपकी hibernate.reveng.xml फ़ाइल पर इस तरह के संबंधित कॉलम को चिह्नित करने का प्रयास करें;

<column name="personsForParentId" property="parents" /> 
+0

इस सवाल का प्रोजेक्ट बहुत पुराना था, इसलिए मैं पुष्टि नहीं कर सकता, लेकिन अगर यहां सर्वसम्मति है तो मैं इसे सही उत्तर के रूप में सेट कर सकता हूं। – Jon

संबंधित मुद्दे