2015-04-15 2 views
6

खैर लगता है मैं सभी संस्थाओं जहां entitie_id = *some id*चीनी ORM नहीं कर सकते मेरे कॉलम नाम

मैं इस नियम के साथ ऐसा कर चयन करने के लिए कोशिश कर रहा हूँ:

List<NodeSugar> nodesugars = NodeSugar.find(NodeSugar.class, "entitie_id = ? ", String.valueOf(nodeid)); 

मैं जानता हूँ कि मैं कुछ परिणामों को वापस मिलना चाहिए और मैं कोई त्रुटि मिलती है। इस त्रुटि:

E/SQLiteLog﹕ (1) no such column: entitie_id 

मैं जानता हूँ कि स्तंभ मौजूद है क्योंकि मैं कोड का एक अलग हिस्सा में सेट कर सकते हैं।

मैं गलत कहां जा रहा हूं?

+0

फ़ील्ड के द्वारा आप क्वेरी करने के लिए कोशिश कर रहे हैं के जावा नाम क्या है? – huu

उत्तर

28

आप "entitieid" के साथ क्वेरी करने के लिए सक्षम होना चाहिए।

शुगर ओआरएम कुछ रूपांतरण करता है जब यह टेबल में कॉलम बनाता है। यहां एक मूल उदाहरण दिया गया है:

String firstName; //creates column first_name 
int entitie_id; //creates column entitieid 

प्रलेखन केवल ऊंट मामले से अंडरस्कोर अलगाव में रूपांतरण निर्दिष्ट करता है। मैं एक दूसरे को यह पता लगाने के लिए था।

+4

मैं सिर्फ अपने आप को पूछना .. क्यों ?! –

+6

क्योंकि यह अभी तक बहुत आसान नहीं तो होगा ... –

+0

धन्यवाद आदमी आप मेरा दिन :) –

7

आप प्रश्न बनाने के दौरान स्तंभ नामों को लपेटने के लिए नामकरणहेल्पर.toSQLNameDefault() का उपयोग कर सकते हैं। प्रयास करें:

List<NodeSugar> nodesugars = NodeSugar.find(NodeSugar.class, NamingHelper.toSQLNameDefault("entitie_id") + " = ? ", String.valueOf(nodeid)); 

NamingHelper टेबल और स्तंभ नाम बनाने के लिए चीनी ORM पुस्तकालय में प्रयोग किया जाता है:

https://github.com/satyan/sugar/blob/master/library/src/main/java/com/orm/helper/NamingHelper.java

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