ठीक है सबसे पहले मुझे जवाब देने के लिए मिक्को को धन्यवाद। मैं सिर्फ एक उत्तर पोस्ट करना चाहता था जो किसी और के लिए सीधे मददगार हो सकता है जो उस स्थिति में हो सकता है जिसमें मैं था। साथ ही यह यूरेका पल पर आधारित है, इसलिए यह तकनीकी रूप से सही नहीं हो सकता है लेकिन मैं इसे इस तरह देखता हूं।पी>
मेरे सामने जो बड़ा मुद्दा था, वह यह था कि MySQL में मैं ब्रिजिंग टेबल को एक व्यक्तिगत टेबल के रूप में देख सकता था! (क्षमा करें, मैं अपने ईईआर आरेख की एक छवि पोस्ट नहीं कर सकता लेकिन मुझे लगता है कि इस समय पर्याप्त विशेषाधिकार नहीं हैं) इसलिए मैंने मान लिया कि जावा ब्रिजिंग टेबल को टेबल के रूप में भी देखेगा! अच्छा यह नहीं है। वह ब्रिजिंग टेबल वास्तव में जावा में एक पारंपरिक टेबल के रूप में मौजूद नहीं है, यह वास्तव में विरोधी टेबल संग्रह प्रकार द्वारा दर्शाया जाता है जिसे आप इसके साथ जोड़ते हैं।
मेरे लिए इसे देखने का सबसे आसान तरीका ब्रिजिंग टेबल को पूरी तरह से भूल जाना और दो 'वास्तविक' टेबलों पर ध्यान केंद्रित करना और उनमें डेटा को जोड़ना था। निम्नलिखित कोड सबसे अच्छा अभ्यास नहीं है क्योंकि मैं बस role_id सेट कर रहा हूं, लेकिन यह सिर्फ मेरी बात दिखाने के लिए ठीक है।
List<Roles> userRoleList = new ArrayList<Roles>();
Users currentUser = new Users();
currentUser.setUserId(userId);
currentUser.setUsername(email);
currentUser.setPassword(password);
Roles userRole = new Roles();
userRole.setRoleId("2");
userRoleList.add(userRole);
currentUser.setRolesCollection(userRoleList);
getUsersFacade().create(currentUser);
आशा है कि यह किसी और की मदद करता है जो कई से कई रिश्तों से जूझ रहा है।
(एनबी। मैंने आसानी से संग्रह के बजाय सूची का उपयोग करने के लिए मूल प्रश्न कोड संपादित किया है लेकिन आप अपनी आवश्यकताओं के अनुरूप किसी अन्य प्रकार का भी उपयोग कर सकते हैं।)