2010-08-16 9 views
8

जब मैं grails की बात करता हूं तो मैं एक पूर्ण नोब हूं (और जब भी यह ग्रोवी की बात आती है तब भी बहुत नाराज होती है) इसलिए अगर मैं एक बेवकूफ सवाल करता हूं तो मैं क्षमा चाहता हूं।क्या grails डोमेन कक्षाओं को डेटाबेस से बंधना होगा?

मैं एक साधारण वेब ऐप बना रहा हूं और मैं डेटाबेस डेटा के बजाय फ़ाइल सिस्टम ऑब्जेक्ट्स (यानी निर्देशिका संरचना और फ़ाइल प्रकार) के आधार पर अपने ऐप में डोमेन के हिस्सों को नियंत्रित करना चाहता हूं। ऐसा करना कितना आसान है या डोमेन ऑब्जेक्ट्स इतने आसान हैं कि गोरम के साथ यह सुनिश्चित किया जाए कि यह कोशिश करने के प्रयास के लायक नहीं है?

+1

कोई जवाब नहीं है, लेकिन आपको यह जानने में रुचि हो सकती है कि दृढ़ता कार्यान्वयन को GORM से दूर किया जा रहा है। इससे जीओआरएम को रेडिस, नियो 4 जे इत्यादि जैसे जेएससी रिपोजिटरी जैसे नोएसक्यूएल कार्यान्वयन के साथ काम करने की अनुमति मिल जाएगी। बुनियादी फाइल सिस्टम कार्यान्वयन भी जोड़ना संभव होना चाहिए। Grails घोषणाओं के लिए नजर रखें। –

उत्तर

9

मैं कुछ हफ्ते पहले इस प्रश्न में भाग गया था।

आप निम्न स्निपेट को Domain Class पर जोड़ सकते हैं।

def isAttached() 
{ 
    return false 
} 

अब यह आपके डेटाबेस से कनेक्ट नहीं है। देखा!

+0

ऐसा प्रतीत होता है कि जब मैंने पूछा कि कोई भी जवाब नहीं था, तो मैंने इस स्थिति को संभालने के लिए कहा था। –

1

ऐसा करने के कुछ तरीके।

सबसे पहले, आप अपनी संपत्तियों को घोषित कर सकते हैं जो फ़ाइल सिस्टम डेटा को क्षणिक के रूप में मैप करते हैं, और फाइल सिस्टम पर जाते हैं जब गेटर्स/सेटर्स को कॉल किया जाता है (आपको उन्हें ओवरराइड करना होगा)। यदि आप उन्हें स्मृति में हमेशा रहने की आवश्यकता रखते हैं तो आप उन्हें ऑनलोड का उपयोग करके भी लोड कर सकते हैं।

दूसरा - हाइबरनेट दृढ़ता को संभालता है। हाइबरनेट आपको अपने उपयोगकर्ता के प्रकार को परिभाषित करने की अनुमति देता है, जो दृढ़ता को आप जिस तरह से चाहते हैं उसे संभाल सकता है। इस तरह यह आपके लिए अधिक पारदर्शी रूप से हो सकता है (हालांकि आपको यह सुनिश्चित करना होगा कि आप अच्छी तरह से हाइबरनेट को समझें, यह सुनिश्चित करने के लिए कि कोई दुष्प्रभाव नहीं हैं, मुझे यकीन नहीं है)।

http://i-proving.com/space/Technologies/Hibernate/User+Types+in+Hibernate

1

कोई अंतर्निहित तरीके के रूप में आप का वर्णन किया है प्रणाली वस्तुओं दायर करने के लिए डोमेन कक्षाओं मैप करने के लिए नहीं है, लेकिन समान रूप से करना आवश्यक नहीं है कि आपके डोमेन कक्षाएं एक संबंधपरक डेटाबेस के लिए नक्शे है। एक Grails ऐप बनाने का विषय जो एक संबंधपरक डेटाबेस का उपयोग नहीं करता है here और here (और संभवतः कहीं और) को संबोधित किया गया है।

4

तुम भी उपयोग कर सकते हैं:

class YourDomainClass { 

    static mapWith = "none" // disable persistence for this domain class 

grails documentation और this answer देखें। ऐसा लगता है कि Grails 2.0.1 में जोड़ा गया है लेकिन संस्करण 2.3.0 तक दस्तावेज नहीं है।

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