2015-10-07 4 views
5

में काम नहीं कर @Transient मैं हाइबरनेट 4.1.9 का उपयोग कर रहा हूँ। मेरे कोडहाइबरनेट

@Transient 
private String ldapIdTemp; 

है पैकेज

import javax.persistence.Transient; 
हाइबरनेट क्वेरी में

फिर भी है, यह काम नहीं कर रहा और क्वेरी में विशेषता डाल। क्वेरी स्निपेट (ldapIdTemp16_0_ रूप assetasset0_.ldapIdTemp,)

की

हिस्सा मुझे यकीन है कि मैं गलत क्या कर रहा हूँ नहीं हूँ।

उत्तर

7

आप इस प्रकार क्षेत्र के लिए सेटर और गेटर बनाने का प्रयास करें कर सकते हैं और @Transient साथ प्राप्त विधि व्याख्या,:

private String ldapIdTemp; 

@Transient 
public String getLdapIdTemp() { 
    return ldapIdTemp; 
} 

public void setLdapIdTemp(String ldapIdTemp) { 
    this.ldapIdTemp = ldapIdTemp; 
} 
+1

वास्तव में यह मेरी समस्या धन्यवाद था –

4

बहुत आप कैसे अपने Entity या वर्ग पदानुक्रम में "एकीकृत" इस क्षेत्र पर निर्भर करता है। इसके अलावा, क्षेत्र बनाम संपत्ति -प्रवेश अपनी सेटिंग के लिए एक मुद्दा हो सकता है। एक विस्तृत विवरण के लिए इस post देखें।

आपके मामले में, मैं कल्पना कर सकता है कि आप या तो:

  1. मिश्रित क्षेत्र और संपत्ति का उपयोग अपने इकाई विरासत रणनीति में
  2. उपयोग XML- आधारित हाइबरनेट के लिए अपने आवेदन में विन्यास।

दोनों ही मामलों JPA 2.0/2.1 specification स्पष्ट रूप से धारा 2.3.1 में कहा गया है:

यह अगर एक डिफ़ॉल्ट पहुँच प्रकार निर्धारित नहीं किया जा सकता है एक त्रुटि है और एक पहुंच प्रकार स्पष्ट रूप से एनोटेशन के माध्यम से निर्दिष्ट नहीं है या एक्सएमएल डिस्क्रिप्टर। ऐप्स के व्यवहार कि मिश्रण स्पष्ट पहुँच एनोटेशन निर्दिष्ट किए बिना एक इकाई पदानुक्रम के भीतर क्षेत्रों और गुणों पर एनोटेशन की नियुक्ति अनिर्धारित रहता है।

कृपया जांचें कि आपका लगातार Entity कक्षाएं या तो क्षेत्र या संपत्ति आधारित एनोटेशन हैं।