2013-07-12 12 views
7

में सादे एसक्यूएल के बजाय comprehensions के लिए उपयोग मैं यहाँ 23 क्षेत्रों के साथ काम कर रहा हूँ, अंतिम गणना में कोशिश कर रहा। मैं आम तौर पर मेरे हाथ एक विदेशी कुंजी का उपयोग करके 31 को मैदान में उतारा मेज से कम करने के बाद उन्हें गिनने की कोशिश कर के साथ फेंक दिया गया है।स्काला 22param सीमा एक समाधान खोजने के लिए और अभी भी स्लिक

सभी अच्छे लिंक

Fundamental explanation of how to read and understand Slick's schema code एक बहुत अच्छा फैज द्वारा प्रदान की।

22+ मापदंडों पर ...

स्टीफन Zeigar उदाहरण कोड वह this discussion में लिखा गया है और यह भी अधिक सीधे here on Github

अच्छा स्टीफन Zeigar से जुड़ा हुआ भी here पोस्ट किया गया है में बेहद उपयोगी है सादा एसक्यूएल पर प्रश्नों

क्या इस पोस्ट के बारे

है मुझे लगता है कि इसके बाद के संस्करण ई है nough मेरे ऐप्लिकेशन के किसी काम कर रिफैक्टरिंग लिए अपने रास्ते पर मुझे पाने के लिए इतना है कि CRUD संभव है। अगर मैं कुछ उठता हूं और मुझे स्थिर करता हूं तो मैं इस सवाल को अपडेट करूंगा या नए प्रश्न पूछूंगा। बात ...

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

object Monsters extends Table[Int]("monster_table"){ 
    // lots of column definitions 
    def * = id /* for a Table[Int] despite 
     having 21 other columns I'm not describing 
     in this projection/ColumnBase/??? */ 
} 

होगा और * प्रक्षेपण सब कुछ का वर्णन नहीं होगा मैं चाहता हूँ मैं Slick's Query Templates के बारे में

समस्या मैं में चलाने

बात कर रहा हूँ एक प्रश्न में वापसी। क्योंकि मैं टेबल घोषित होने के लिए एक Table[Int]क्योंकि संपूर्ण वस्तु मैं चाहता हूँ की

def someQueryTemplate = for { 
    m <- Monsters 
} yield m 

और m एक इंट हो जाएगा बजाय:

समझ स्लिक क्वेरी टेम्पलेट के लिए हमेशा की तरह सरल कुछ इस तरह दिखेगा मैं संक्षेप में all the code that needs to be generated for compiler support of class generation for each tuple and arbitrariness

तो ... की वजह से 22 पैरामीटर का एक मैप किए गए प्रक्षेपण का निर्माण नहीं कर सकते हैं:


वहाँ किसी भी तरह से 22+ कॉलम के साथ स्लिक में क्वेरी टेम्पलेट का उपयोग करने के है?

+0

मैं अंत में मेरी स्कीमा बदल दिया, मामले में किसी को भी सोच रहा था। – Meredith

+1

मैंने देखा [चालाक मैक्रो] (https://github.com/ebiznext/slick-macros) दूसरे दिन। यह डीबी के लिए +22 कॉलम के साथ-साथ कुछ अन्य रोचक सामग्री का दावा करता है। शायद यह आपके लिए कुछ उपयोग है। –

उत्तर

2

मैं एक ऐसी ही सवाल का जवाब कुछ दिनों पहले के बाद इस प्रश्न पर ठोकर खाई। प्रश्न का एक लिंक यहां दिया गया है। slick error : type TupleXX is not a member of package scala (XX > 22)

यहाँ सवाल का जवाब करने के लिए आपको 22 स्तंभ सीमा हल करने के लिए नेस्टेड tuples उपयोग करने में सक्षम हैं। समस्या को हल करते समय, निम्नलिखित पोस्ट बेहद सहायक थी। https://groups.google.com/forum/#!msg/scalaquery/qjNW8P7VQJ8/ntqCkz0S4WIJ

एक और विकल्प स्लिक के जल्द-से-रिलीज़ संस्करण का उपयोग करना है जो स्तंभ गणना सीमा को हटाने के लिए एचएलिस्ट का उपयोग करता है। स्लिम का यह संस्करण गिथब पर स्लिम मास्टर शाखा से खींचा जा सकता है। इस विकल्प को इंगित करने के लिए cvogt करने के लिए kudos। https://github.com/slick/slick/blob/master/slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/MapperTest.scala#L249

+0

आप उस एचएलआईटी संस्करण का उपयोग कैसे करते हैं? मैं नवीनतम स्लिक (2.0.0-एम 2) का उपयोग कर रहा हूं और अभी भी त्रुटि प्राप्त कर रहा हूं। – sventechie

+1

मैंने अभी तक नए संस्करण के साथ नहीं खेला है। उपयोगकर्ता cvogt स्लिम का उपयोग करने पर उनकी एक वार्ता में सुविधा के बारे में बात की। मैं एचएलिस्ट्स का उपयोग करने के बारे में पूछने के लिए उससे संपर्क करने की सलाह देता हूं। –

+0

यदि मेरे पास 23 फ़ील्ड हैं तो HList बहुत धीमा हो जाता है – jilen

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