2013-11-26 16 views
5

के साथ इतिहास ट्रैकिंग मैं अपनी मॉडल इकाइयों में से एक के लिए इतिहास ट्रैकिंग/ऑडिटिंग को कार्यान्वित करना चाहता हूं, जिसमें उपयोगकर्ता ने लॉग, स्टोर, और प्रत्येक अपडेट/डालने में जो भी बदलाव किया है, उसके साथ लॉग स्टोर करने के लिए एक नई तालिका का उपयोग करके ।जेपीए

मैं अपने जेपीए प्रदाता के रूप में एक्लिप्ससेंक का उपयोग कर रहा हूं, लेकिन मैं अपने History Policy का उपयोग नहीं करना चाहता क्योंकि प्रदाता भविष्य में बदल सकता है। मैं या तो उसी कारण से Hibernate Envers का उपयोग नहीं कर सकता।

मैंने auditing support which Spring Data provides में देखा, लेकिन यह बहुत बुनियादी लगता है और यह केवल आपको उस उपयोगकर्ता को स्टोर करने की अनुमति देता है जिसने इकाई और तिथियों को बनाया या संशोधित किया है, न कि परिवर्तन।

मैं भी जेपीए के prePersist और preUpdate के बारे में पता है, लेकिन specificacion का कहना है कि:

सामान्य तौर पर, एक पोर्टेबल अनुप्रयोग EntityManager या क्वेरी संचालन नहीं आह्वान करना चाहिए, का उपयोग अन्य संस्था उदाहरणों के जीवन चक्र विधि, या एक ही दृढ़ता संदर्भ के भीतर संबंधों को संशोधित करें।

क्या इसे लागू करने के लिए एक साफ, आसान और पोर्टेबल तरीका है?

उत्तर

1

मैंने इसे एक अलग ईजेबी सेवा के साथ मैन्युअल रूप से बनाया है, जिसका उत्तर इतिहास डेटा निकालने और इसे एमएपी के रूप में सहेजना था। यह बहुत प्राथमिक है जिसमें केवल मूल डेटा और संबंधों की आईडी सहेजी जाती है, लेकिन यह मेरे मामले के लिए पर्याप्त थी।

असल में मैं लगातार प्रतिबिंब के साथ लगातार गुणों का निरीक्षण कर रहा था।

+0

धन्यवाद एंड्री, मैं ऐसा कुछ कोशिश करूंगा – zootropo