2011-09-26 12 views
6

कैसे आप हाइबरनेट में निम्नलिखित वर्ग के नक्शे होगा:कैसे मैप करने के लिए एक स्ट्रिंग [] हाइबरनेट में

private class Book { 
    private int id; 
    private String title; 
    private String[] chapterTitles; 

    //Constructor, Getters and Setters 
} 

मैं हाइबरनेट में संग्रह और आदिम सरणियों मैप किया गया है, लेकिन मैं इसे कैसे एक स्ट्रिंग [के साथ क्या करते हैं ]? मेरे हाइबरनेट उपकरण 'NullPointerException' के साथ बंद हो जाता है जिससे मैं मैपिंग उत्पन्न करने में असमर्थ हूं। और मैंने गुगल किया है लेकिन कोई भी नहीं मिला।

+0

क्यों एक सूची का उपयोग नहीं करना चाहिए? – Bozho

+0

यह एक जेएमई क्लाइंट के लिए एक वेबसाइट है जो एक्सएमएल में वस्तुओं को क्रमबद्ध करने के लिए सरल एक्सएमएल का उपयोग करता है। किसी अन्य डेवलपर द्वारा लिखे गए डिवाइस पर एक्सएमएल पार्सर सामग्री को पार्स करने के लिए एक सामान्य पार्सर का उपयोग करता है। सदस्य को संग्रह के रूप में बदलना एक अलग एक्सएमएल तत्व प्रकार उत्पन्न करेगा जो जेएमई ऐप के पार्सर को तोड़ देगा। –

+0

क्या होगा? एक्सएमएल/जेसन सीरियलाइजेशन – Bozho

उत्तर

7

मुझे कोई संकेत नहीं है कि एनोटेशन और व्यक्तिगत रूप से इसे कैसे किया जाए, मुझे नहीं लगता कि यह अच्छा विचार है और आपको List<String> का उपयोग करना चाहिए, हालांकि आप इसे एक्सएमएल मैपिंग का उपयोग करके कर सकते हैं।

आप का उपयोग <array>

<array name="chapterTytles" table="Titles"> 
    <key column="title_ID" /> 
    <index column="tytle_index" /> 
    <element column="tytle_name" type="string" /> 
</array> 
+1

हाय @ डैनी, मैंने पहले से ही यह कोशिश की है और मुझे निम्नलिखित अपवाद मिल रहा है: org.hibernate.MappingException: स्ट्रिंग, टेबल पर: टाइटल, के लिए प्रकार निर्धारित नहीं कर सका कॉलम: [org.hibernate.mapping.Column (title_id)] ​​ –

+0

लोअर केस के साथ स्ट्रिंग का प्रयास करें, लेकिन सबसे अच्छा उपयोग सूची :) –

+0

जब मैं 'स्ट्रिंग' मैं java.lang.ClassCastException हो रही है का उपयोग करें: org.hibernate .type.StringType को org.hibernate.type.prrimitiveType पर नहीं डाला जा सकता है। ठीक है, मुझे लगता है कि मुझे इसके बजाय सूची का उपयोग करना चाहिए। क्या आपके पास सूची सूची के लिए कोई संकेतक है? –

5

आप इसे creating a custom value type द्वारा कर सकते हैं, हालांकि मैं व्यक्तिगत रूप से अपना डिज़ाइन बदलना और सूची के बजाय उपयोग करना पसंद करूंगा।

+0

हाय @ सेन, अगर मैं सूची सूची का उपयोग कर रहा हूं तो मैं इसे कैसे कर सकता हूं? –

+0

@ रागुनाथ जवाहर मैं यद्यपि आप पहले ही संग्रह मैप कर चुके थे? आपका प्रश्न टेक्स्ट ऐसा कहता है। –

+0

हां, मैंने सूची के लिए ऐसा किया है, लेकिन अभी तक स्ट्रिंग के लिए यह कोशिश नहीं की है। कोई समस्या नहीं, मुझे पहले से ही एक काम मिल गया है। वैसे भी शुक्रिया। –

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

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