2010-06-18 14 views
6

मैं मैप किए गए वर्ग में एक मान ऑब्जेक्ट जोड़ना चाहता हूं जहां एक कॉलम घटक के वर्ग के आधार पर तय किया गया है। मैं ऐसा कुछ कैसे कर सकता हूं?हाइबरनेट मैपिंग फ़ाइलों में निरंतर

<component name="aComponent"> 
    <property name="abc" column="cde"/> 
    <property name="xyz" value="FIXED"/> 
</component> 

दुर्भाग्य से, मूल्य विशेषता मौजूद नहीं है। क्या संपत्ति के निरंतर मूल्य को लागू करने का कोई और तरीका है?

अग्रिम धन्यवाद।

उत्तर

4

आपको एक सूत्र का उपयोग करना चाहिए, उदा।

<property name="xyz" formula="1" type="big_decimal"/> 

जावा पर्सिस्टेंस से हाइबरनेट, च। 4.4.1:

दिया एसक्यूएल सूत्र हर बार इकाई डेटाबेस से लिया गया है मूल्यांकन किया जाता है (और किसी अन्य समय में नहीं है, इसलिए यदि अन्य गुण संशोधित कर रहे हैं परिणाम पुरानी हो सकती है)। संपत्ति में कॉलम विशेषता (या सबलेमेंट) नहीं है और कभी भी SQL INSERT या UPDATE में दिखाई नहीं देता है, केवल SELECT एस में। फॉर्मूला डेटाबेस तालिका के कॉलम का संदर्भ ले सकता है, वे SQL फ़ंक्शंस, पर कॉल कर सकते हैं और उनमें SQL उप-चयन भी शामिल हो सकते हैं। एसक्यूएल अभिव्यक्ति अंतर्निहित डेटाबेस के रूप में पास की जाती है; यदि आप सावधान नहीं हैं और विक्रेता-विशिष्ट ऑपरेटरों या कीवर्ड पर भरोसा करते हैं, तो यह विशेष डेटाबेस उत्पाद पर अपनी मैपिंग फ़ाइल को बांधने का एक अच्छा मौका है।

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