2012-09-14 30 views
24

में "प्रतीक हल नहीं कर सकता" के साथ @ एंटीटी क्लास नामों को हाइलाइट करता है IntelliJ IDEA जेपीक्यूएल में लाल रंग में "प्रतीक को हल नहीं कर सकता" के साथ लगातार @ एंटीटी क्लास नामों को हाइलाइट करता है जो वास्तविक मुद्दों को विचलित और buries।इंटेलिजे आईडीईए जेपीक्यूएल

तो, उदाहरण के लिए, मैं एक प्रश्न मेरे भंडार में घोषित:,

private static final String READ_BY_CANDIDATE_KEY = "SELECT cr FROM Entity AS cr left join cr.relationship AS re left join fetch cr.relationship2 WHERE re.candidateKey=:ID"; 

.. और "संस्था" को रेखांकित किया गया है, भले ही "एंटिटी" मान्य वर्ग के नाम है, और @Entity एनोटेशन है । जब कोड वास्तव में चलता है, तो कोई समस्या नहीं होती है।

मुझे लगता है कि आईडीई को यह जानने के लिए कुछ प्रकार की कॉन्फ़िगरेशन की आवश्यकता है कि कक्षाएं क्या मान्य हैं? यह कॉन्फ़िगरेशन कैसे किया जाता है?

अद्यतन: मेरे पास एक जेपीए पहलू है, लेकिन यह एनोटेटेड कक्षाएं नहीं देखता है। यह एक persistence.xml या orm.xml (जो अपने प्रोजेक्ट का उपयोग नहीं करता)

उत्तर

17

करें कि आप अपने मॉड्यूल के लिए IntelliJ विचार में JPA या Hibernate पहलू configured किया है की आवश्यकता होती है लगता है।

+0

अद्यतन फिर से देखें जेपीए और दृढ़ता एक्सएमएल –

+1

क्या आप वसंत का उपयोग कर रहे हैं? यदि हां, तो वसंत पहलू की आवश्यकता है। – CrazyCoder

+0

क्या आप उपर्युक्त करने के तरीके पर निर्देश प्रदान कर सकते हैं? –

26

ऐसा लगता है कि आपने पहलू कॉन्फ़िगरेशन में डिफ़ॉल्ट जेपीए प्रदाता का चयन नहीं किया है। आप जिस प्रदाता का उपयोग कर रहे हैं उसके आधार पर, सूची में से कोई एक चुनें। उपलब्ध विकल्प EclipseLink, Hibernate, OpenJPA, TopLink

+0

मैं इसे बिल्कुल कहां सेट करूं? – powder366

+7

फ़ाइल> परियोजना संरचना> Facets पर जाएं। फिर + आइकन पर क्लिक करें और अपनी परियोजना/मॉड्यूल में जेपीए जोड़ें। ऐसा करने के बाद, आप एक डिफ़ॉल्ट जेपीए प्रदाता का चयन कर सकते हैं। – Jelle

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