2011-08-09 8 views
5

मेरे पास दो घटक हैं, एक बेस Entity घटक:कोल्डफ्यूजन ओआरएम का उपयोग करके आप बेस क्लास को कैसे मैप करते हैं?

<cfcomponent persistent="true"> 
    <cfproperty name="Id" fieldtype="id" generator="native"> 
</cfcomponent> 

और एक Client घटक जो इसे विस्तारित करता है:

<cfcomponent persistent="true" extends="Entity"> 
    <cfproperty name="FirstName"> 
    <cfproperty name="LastName"> 
</cfcomponent> 

हालांकि, जब मैं Client का उदाहरण बनाने का प्रयास करता हूं, तो मुझे एक त्रुटि मिलती है कहता है कि उन्हें दो अलग-अलग तालिकाओं के रूप में मैप किया जा रहा है। मुझे पता है कि हाइबरनेट में बेस क्लास को अनदेखा करने की क्षमता है, लेकिन मैं इसे कोल्डफ्यूजन के टैग के साथ कैसे करूं, या क्या मुझे इस सुविधा के लिए एचबीएम मैपिंग में वापस आना होगा?

परिशिष्ट: Entity से persistent="true" को हटाकर या तो काम नहीं करता है, Client कार्य करेगा जैसे कि यदि ऐसा होता है तो इसमें Id प्रॉपर्टी नहीं है।

उत्तर

6

आपके आधार "इकाई" वर्ग में लगातार = "सत्य" को हटाने और मैप किए गए SuperClass = "true" को जोड़ने का प्रयास करें।

<cfcomponent mappedSuperClass="true"> 
    <cfproperty name="Id" fieldtype="id" generator="native"> 
</cfcomponent> 

आपको 9.0.1 अपडेट कोल्डफ्यूजन पर लागू करने की आवश्यकता है।

+0

सुनिश्चित करें कि आप परिवर्तन करने के बाद ORMReload() सुनिश्चित करें। – CfSimplicity