मैं जावा/स्प्रिंग एमवीसी और हाइबरनेट का उपयोग करके अपने वेब ऐप में एक साधारण ईएवी पैटर्न स्थापित करने की कोशिश कर रहा हूं। मुझे इस परिदृश्य के लिए हाइबरनेट एक्सएमएल सेटअप के पीछे जादू का पता लगाना प्रतीत नहीं होता है।उपयोगकर्ता के लिए हाइबरनेट के साथ ईएवी पैटर्न कार्यान्वित करना -> सेटिंग्स रिलेशनशिप
मेरे डेटाबेस तालिका "सेटअप" तीन स्तंभ हैं:
- user_id (FK)
- setup_item
- setup_value
डेटाबेस समग्र कुंजी user_id से बना है | setup_item
यहाँ Setup.java वर्ग है:
public class Setup implements CommonFormElements, Serializable {
private Map data = new HashMap();
private String saveAction;
private Integer speciesNamingList;
private User user;
Logger log = LoggerFactory.getLogger(Setup.class);
public String getSaveAction() {
return saveAction;
}
public void setSaveAction(String action) {
this.saveAction = action;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Integer getSpeciesNamingList() {
return speciesNamingList;
}
public void setSpeciesNamingList(Integer speciesNamingList) {
this.speciesNamingList = speciesNamingList;
}
public Map getData() {
return data;
}
public void setData(Map data) {
this.data = data;
}
}
हाइबरनेट सेटअप के साथ मेरी समस्या यह है, कि मैं यह पता लगाने की तथ्य बाहर मैप करने के लिए कैसे नहीं कर पा रहे है कि एक विदेशी कुंजी और चाबी एक मानचित्र के तालिका की समग्र कुंजी का निर्माण होगा ... यह हाइबरनेट का उपयोग कर अनुभव की कमी के कारण है।
<composite-id>
<key-many-to-one foreign-key="id" name="user" column="user_id" class="Business.User">
<meta attribute="use-in-equals">true</meta>
</key-many-to-one>
</composite-id>
<map lazy="false" name="data" table="setup">
<key column="user_id" property-ref="user"/>
<composite-map-key class="Command.Setup">
<key-property name="data" column="setup_item" type="string"/>
</composite-map-key>
<element column="setup_value" not-null="true" type="string"/>
</map>
कैसे ठीक से इस आम परिदृश्य को मैप करने में कोई अंतर्दृष्टि सबसे की सराहना की होगी: यहाँ मेरे काम करने के लिए इस हो रही पर प्रारंभिक प्रयास है!
@ ट्रेवर आपका स्वागत है, लेकिन यदि आप एक उपयोगी उत्तर देखते हैं, तो यूपीवोट, धन्यवाद! –