2011-02-14 12 views
6

मुझे हाइबरनेट करने के लिए उपयोग किया जा रहा है लेकिन हर बार मैं एक ठोकर मारता हूं, यहां एक और है।हाइबरनेट @WhereJoinTable मुसीबत

मैं निम्नलिखित प्राप्त करने के लिए कोशिश कर रहा हूँ:

@OneToMany 
@JoinTable(name = "inter_spec", 
     joinColumns = { @JoinColumn(name = "inter_id") }, 
     inverseJoinColumns = { @JoinColumn(name = "spec_id") }) 
@WhereJoinTable(clause = "spec_type=SECTION") 
public List<Section> getSections() { 
    return sections; 
} 

लेकिन जब मेरी इकाई परीक्षण चल रहा है मैं निम्नलिखित त्रुटि मिलती है:

[ERROR] JDBCExceptionReporter - कॉलम "SECTIONS0_.SECTION" नहीं मिल गया; एसक्यूएल कथन:

मैं चाहता हूं कि कहां क्लॉज लागू करें ताकि मेरी सूची अनुभागों में केवल सेक्शन प्रकार डेटा हो।

यदि मैं कहां हटाता हूं कि मेरा यूनिट टेस्ट पास कहां है, तो सूची में दावा अपेक्षित डेटा है।

पढ़ने के लिए धन्यवाद।

उत्तर

9

आह, यह हमेशा होता है, जैसे ही मैं एक प्रश्न पोस्ट करता हूं, मैं इसे समझता हूं !!

असल में, कहाँ खंड में अनुभाग, जावा कोड में एक Enum है ताकि लाइन किया जाना चाहिए था:

@WhereJoinTable(clause = "spec_type='SECTION'") 

सूचना खंड के आसपास एकल उद्धरण जो वहाँ नहीं से पहले थे!

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