मैं हाइबरनेट के वर्गों का उपयोग किए बिना जेपीए में एक मानचित्र को कैसे मैप कर सकता हूं?जेपीए मानचित्र <स्ट्रिंग, स्ट्रिंग> मैपिंग
उत्तर
क्या आपके लिए निम्नलिखित कार्य नहीं है?
@ManyToMany(cascade = CascadeType.ALL)
Map<String,EntityType> entitytMap = new HashMap<String, EntityType>();
EntityType
एक String
सहित किसी भी इकाई प्रकार हो सकता है।
import java.io.Serializable;
import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import org.hibernate.annotations.CollectionOfElements;
import org.hibernate.annotations.MapKey;
@Entity
public class Book implements Serializable{
@Column(name="BOOK_ID")
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long bookId;
@CollectionOfElements(targetElement=java.lang.String.class)
@JoinTable(name="BOOK_CHAPTER",
[email protected](name="BOOK_ID"))
@MapKey ([email protected](name="CHAPTER_KEY"))
@Column(name="CHAPTER")
private Map<String,String> chapters;
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
public Map<String,String> getChapters() {
return chapters;
}
public void setChapters(Map<String,String> chapters) {
this.chapters = chapters;
}
}
यह मेरे लिए काम करता है:
मान लीजिए मैं जो अध्याय का एक मानचित्र रहा है बुक नामित एक इकाई है।
+1 मान्य नहीं है। और क्या होगा यदि मैं इन सभी पुस्तकों में से केवल अध्याय 3 को पुनर्प्राप्त करना चाहता हूं? मेरे पास एक समान प्रश्न है: http://stackoverflow.com/questions/12952625/jpa-category-language-relationship – ianaz
@ianaz 'बुक बी से सी का चयन करें b.chapters c में शामिल हों जहां कुंजी (सी) = '3'' –
दुर्भाग्य से, इसके लिए हाइबरनेट-विशिष्ट एनोटेशन की आवश्यकता होती है। सवाल बिना समाधान के लिए था। – RobertG
हालांकि सुभेंदु महंता द्वारा दिए गए उत्तर सही हैं। लेकिन @CollectionOfElements
बहिष्कृत है। आप @ElementCollection
बजाय का उपयोग कर सकते हैं:
@ElementCollection
@JoinTable(name="ATTRIBUTE_VALUE_RANGE", [email protected](name="ID"))
@MapKeyColumn (name="RANGE_ID")
@Column(name="VALUE")
private Map<String, String> attributeValueRange = new HashMap<String, String>();
Map
क्षेत्र के लिए एक अलग इकाई वर्ग बनाने के लिए कोई जरूरत नहीं है। यह स्वचालित रूप से किया जाएगा।
एक काम कर उदाहरण:
@ElementCollection(fetch=FetchType.EAGER)
@CollectionTable(name = "TABLENAME")
@MapKeyColumn(name = "KEY")
@Column(name = "VALUE")
public Map<String, String> getMap() {
return _map;
}
कई से अधिक रिश्ते के लिए, आपको @CollectionTable के भीतर 'joinColumns = @JoinColumn (name = "referencing_column") की आवश्यकता होगी और '@MapKeyJoinColumn (name =" referencing_column_other_table ")' – Blauhirn
मेरा कोड मानचित्र के लिए है <स्ट्रिंग, स्ट्रिंग> इकाई में –
- 1. स्टोर मानचित्र <Enum, Enum> स्ट्रिंग
- 2. मानचित्र जेपीए के साथ स्ट्रिंग की एक सूची/एनोटेशन हाइबरनेट
- 3. सूची <मानचित्र <स्ट्रिंग, ऑब्जेक्ट >> org.json.JSONObject पर?
- 4. सूची <मानचित्र <स्ट्रिंग, ऑब्जेक्ट >>
- 5. एनपीएमएस का जेपीए मानचित्र संग्रह
- 6. हाइबरनेट/जेपीए: मैपिंग इकाइयों को विभिन्न डेटाबेस
- 7. मानचित्र <स्ट्रिंग, स्ट्रिंग> इस मानचित्र में डेटा कैसे सम्मिलित करें?
- 8. java.util.Properties मानचित्र <ऑब्जेक्ट, ऑब्जेक्ट> और मानचित्र क्यों नहीं लागू करता है <स्ट्रिंग, स्ट्रिंग>
- 9. जेपीए
- 10. जेपीए एंटिटी
- 11. जैक्सन - मानचित्र में रिकर्सिव पार्सिंग <स्ट्रिंग, ऑब्जेक्ट>
- 12. एक इकाई वर्ग में <स्ट्रिंग, व्यक्ति> मानचित्र कैसे जोड़ें?
- 13. विम मैपिंग सवाल। मैं मानचित्र कैसे बना सकता हूं: आर! <script> तुरंत निष्पादित करें?
- 14. जेपीए/हाइबरनेट मैपिंग टेबल एक से कई रिश्तों के लिए
- 15. स्कैला हाइबरनेट/जेपीए - ऑटोगनेरेटेड बिटमैप $ init $ 0 मैपिंग
- 16. माइम-प्रकार <-> फ़ाइल एक्सटेंशन मैपिंग
- 17. एक मानचित्र <String, ?>
- 18. जेपीए मानचित्र डब्ल्यू/इकाई कुंजी और इकाई मूल्य
- 19. जावा जेनिक्स मानचित्र पर डाल रहा है <स्ट्रिंग,? सूची <String>>
- 20. सरल एक्सएमएल का उपयोग करके एक मानचित्र <स्ट्रिंग, स्ट्रिंग> को क्रमबद्ध कैसे करें?
- 21. सी ++ नक्शा <स्ट्रिंग, वेक्टर <char>> पहुँच
- 22. मैश <स्ट्रिंग, स्ट्रिंग>
- 23. जेपीए
- 24. जेपीए
- 25. स्ट्रिंग डिक्शनरी बनाम <स्ट्रिंग, स्ट्रिंग>
- 26. सूची बनाम मानचित्र (सभी तत्वों पर प्रमुख सुरक्षा बनाम मैपिंग)
- 27. automapper गुम प्रकार मानचित्र कॉन्फ़िगरेशन या असमर्थित मैपिंग।?
- 28. क्या जेपीए
- 29. जेपीए और पोस्टक्रेएसक्यूएल: लंबी स्ट्रिंग दृढ़ता
- 30. जेपीए
मैं एक छोटे से उलझन में हूँ। प्रश्न मैप <स्ट्रिंग, स्ट्रिंग> मैप करने के बारे में था, लेकिन "सर्वश्रेष्ठ उत्तर" मानचित्र के बारे में है <स्ट्रिंग, EntityType>। क्या मुझे कुछ याद आती है? – whiskeysierra
EntityType स्ट्रिंग समेत किसी इकाई प्रकार का हो सकता है। –
यह कितनी तालिकाओं उत्पन्न करता है? क्या मूल कक्षा के लिए (1) एक है, (2) एक जॉइन टेबल (मूल वर्ग और इकाई प्रकार के लिए कुंजी के साथ) और (3) EntityType के लिए एक और तालिका (दिए गए परिदृश्य में, केवल एक जॉइन के साथ एक तालिका टेबल कुंजी और मैप किए गए स्ट्रिंग)? स्ट्रिंग्स सहेजे गए पर निर्भर करता है यह बहुत अधिक ओवरहेड हो सकता है ... – RobertG