मैं इकाई ऑनलोड () हाइबरनेट Envers का उपयोग कर कैसे को गति प्रदान करते हैं?

वोट
0

मैं अपने Grails 3 परियोजना के लिए हाइबरनेट Envers जोड़ने कर रहा हूँ। मैंने देखा है कि मेरी संस्थाओं, जो एक है में से एक के लिए onLoad()घटना, onLoad()घटना Envers संशोधन संस्थाओं के लिए लागू नहीं होती।

कैसे मैं भी इस संस्था की ऐतिहासिक संशोधन के लिए यकीन है कि यह कोड हमेशा शुरू हो जाती है बना सकते हैं,?

उदाहरण:

मैं एक RESTful सेवा Grails 3 JSON विचारों का उपयोग करने पर काम कर रहा हूँ। मेरे डोमेन वर्गों में से एक एक discriminator स्तंभ, जो भी JSON उत्पादन में गाया जाना चाहिए ताकि उपभोक्ता बता सकते हैं कि वह किस प्रकार है। इस कारण से, डोमेन इकाई एक को परिभाषित करता है onLoad()जो विधि के discriminator प्रकार मिलान एक क्षणिक संपत्ति भरता है:

class MyChildDomainClass extends MyBaseDomainClass {
    void onLoad() {
        valueType = ValueType.STRING
    }

    static mapping = {
        discriminator value: ValueType.STRING
    }
}

यह सामान्य डोमेन उदाहरण के लिए ठीक काम करता है, लेकिन जब मैं Envers से एक इकाई संशोधन को देखने ' AuditQueryCreator, लेखा परीक्षा queyr लागू नहीं किया गया है onLoad()विधि।

ऐसा लगता है कि मैं परिणाम से अधिक पाश सकता है और मैन्युअल रूप से आह्वान लगता है onLoad(), लेकिन मुझे उम्मीद थी इसे ठीक करने के लिए एक बेहतर तरीका नहीं था।

अग्रिम में धन्यवाद!

13/01/2020 को 23:59
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

आप के रूप में दस्तावेज़ में कहा गया है "def" करने के लिए वापसी प्रकार परिवर्तित करने का प्रयास कर सकता है, यहां

class Person {
   String name
   Date dateCreated
   Date lastUpdated
   def onLoad() {
      log.debug "Loading ${id}"
   }
}
16/01/2020 को 00:32
का स्रोत उपयोगकर्ता

वोट
0

कैसे मैं भी इस संस्था की ऐतिहासिक संशोधन के लिए यकीन है कि यह कोड हमेशा शुरू हो जाती है बना सकते हैं,?

मैं अच्छी तरह से ठेठ जेपीए घटना जीवन चक्र एनोटेट घटनाओं की तरह बहुत ज्यादा Grails लेकिन इन देखो के साथ निपुण नहीं कर रहा हूँ और इन संभावना तरीके हैं कि GORM (ज्यादा एक जेपीए implementor की तरह) के लिए और एक इकाई के जीवन चक्र के आधार पर आह्वान देखो।

दूर यहाँ बड़ा महत्वपूर्ण ले कि Envers क्वेरी API द्वारा वस्तुओं है नहीं कर रहे हैं संस्थाओं। इन वस्तुओं, हठ प्रदाता द्वारा प्रबंधित नहीं कर रहे हैं तो यह महत्वपूर्ण है स्पष्ट रूप से है कि प्रभाव के रूप में उस भेद बनाने के लिए इस तरह के अलग संस्थाओं, इकाई जीवन चक्र की घटनाओं, आदि के रूप में दृढ़ता व्यवहार उम्मीदों का एक बहुत

यदि वहाँ कुछ पोस्ट आरंभ कर देगा या अन्य जीवन चक्र कॉलबैक आप जब एक से परिणामों को लाते समय आग की जरूरत है कि AuditQuery, अपने उन भेद बनाने के लिए उपयोगकर्ता के कोड पर और आह्वान उन तरीकों के रूप में की जरूरत है।

17/01/2020 को 23:32
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more