2010-06-05 11 views
5

कई रिश्ते के लिए स्वामित्व वाली एक के बीच का अंतर और कई द्विदिश रिश्ते करने के लिए एक स्वामित्व मैं नीचे, लेकिन मैं लेख को पढ़ने के क्या है इसे समझ में नहीं आता Articleअंतर के बीच कई रिश्ते के लिए एक स्वामित्व में है और कई द्विदिश रिश्ते (गूगल एप इंजन जावा एपीआई) के लिए एक स्वामित्व

उत्तर

5

कई द्विपक्षीय संबंधों के स्वामित्व वाले का मतलब है कि बच्चों के माता-पिता का संदर्भ है। उदाहरण के लिए, नीचे दिया गया बच्चा लगातार उपयोगकर्ता के माध्यम से अभिभावक तक पहुंच सकता है। यदि PersistentLogin वर्ग में लगातार उपयोगकर्ता मौजूद नहीं था तो यह द्विपक्षीय नहीं होगा।

एक-से-कई (PersistentUser.java - जनक):

@OneToMany(mappedBy = "persistentUser", cascade = CascadeType.ALL) 
private Collection<PersistentLogin> persistentLogins; 

कई-टू-वन (PersistentLogin.java - बच्चा):

@ManyToOne(fetch = FetchType.LAZY) 
private PersistentUser persistentUser; 
+0

हाय टेलर उत्तर के लिए धन्यवाद। मैं जीएई के लिए नया हूं इसलिए मैं इसे थोड़ा मुश्किल समझ सकता हूं। अब अनुमान लगाएं कि एक फुटबॉल टीम.जावा वर्ग और प्लेयर.जावा वर्ग है। एक फुटबॉल टीम में कई खिलाड़ी हैं। अब क्या होता है यदि मैं इस संबंध को द्विपक्षीय करता हूं? –

+0

उस रिश्ते का प्रतिनिधित्व उसी तरह किया जाएगा जैसा मैंने दिया था। @OneToMany रिश्ते फुटबॉल टीम कक्षा पर संग्रह खिलाड़ियों के गुण के साथ होगा। @ManyToOne रिश्ते प्लेयर क्लास में एक फुटबॉल टीम टीम विशेषता के साथ होगा। –

+0

टेलर मैं समझ गया कि मुझे लगता है कि मुझे संबंधों में बिडरेक्शनल शब्द का अर्थ नहीं पता है। अगर संबंध बिडरेक्शनल बन जाता है तो क्या होता है? क्या आप कृपया मुझे फुटबॉल टीम क्लास और प्लेयर क्लास के बारे में एक उदाहरण दे सकते हैं? धन्यवाद –

0

अंत में मैं it.Guess को समझने मेरे पास फुटबालटेम नामक एक वर्ग है और इसमें टीम नाम नाम की एक संपत्ति है। अब pseudue कोड

FootBallTeam ft = new FootBallTeam(); 
    ft.setteamname("Barcelona"); 

तो इस टीम मेस्सी, जावी, इनिएस्ता नामित तहत 3 प्लेयर क्लास इकाई जोड़ने है। अब, अगर

ft.setteamname("Real Madrid"); 

जब मैं नीचे दिए गए कोड को चलाने के संबंध द्विदिश है यह स्वचालित रूप से पर्दे के पीछे नीचे कोड चलाता है।

Messi.setteamname("Real Madrid") 
Xavi.setteamname("Real Madrid") 
Iniesta.setteamname("Real Madrid") 
संबंधित मुद्दे