2012-01-18 7 views
7

EntityManager.flush() को कॉल करते समय, क्या यह दूसरे स्तर के कैश को भी फ्लश करेगा? मैंने गूगलिंग की कोशिश की और मैंने इसे फ्लश करने का भी प्रयास किया और ऐसा लगता है जैसे ऐसा करता है, लेकिन यह पुष्टि करना अच्छा होगा।EntityManager.flush() को कॉल करते समय यह दूसरी कैश भी फ्लश करेगा?

संपादित करें: अब ऐसा लगता है कि यह दूसरे स्तर के कैश को फ्लश नहीं करता है।

उत्तर

1

जेपीए के पास दूसरे स्तर के कैश की कोई धारणा नहीं है (यह कल्पना का हिस्सा नहीं है)। तो दूसरे स्तर के कैश का व्यवहार पूरी तरह से जेपीए प्रदाता पर निर्भर करता है। आप हाइबरनेट, एक्लिप्ससेंक, ओपनजेपीए का उपयोग कर क्या कर रहे हैं?

अद्यतन: मैं आंशिक रूप से सही किया मानी, जेपीए 2.0 कुछ ही विकल्प का परिचय दूसरे स्तर कैश उपयोग को नियंत्रित करने के लिए (जैसे @Cachable)

+0

मैं एक्लिप्ससेंक – LuckyLuke

+0

का उपयोग कर रहा हूं जेपीए में कैशिंग के बारे में कुछ ढूंढने के दौरान मुझे दूसरे स्तर के कैशिंग पर कुछ अच्छे लिंक मिले - उम्मीद है कि वे आपकी मदद भी करेंगे - http://docs.oracle.com/javaee/6/ ट्यूटोरियल/डॉक्टर/gkjio.html http://help.sap.com/saphelp_nw73/helpdata/en/f5/bb247575004294831c900556ca62ae/frameset.htm – ND27

0

L2 कैश (डिफ़ॉल्ट किसी भी समझदार जेपीए कार्यान्वयन में, द्वारा) पर अद्यतन किया जाना चाहिए फ्लश करें, लेकिन यह जेपीए 2 स्पेक में अनिवार्य नहीं है, इसलिए आप कार्यान्वयन विनिर्देशों के लिए नीचे हैं। डेटा न्यूक्लियस निश्चित रूप से केवल प्रतिबद्धता पर अपडेट करता है। यदि फ्लश पर एक एल 2 कैश अपडेट किया गया था, और फिर उन वस्तुओं को वापस लुढ़काया जाता है, तो इससे संभावित अमान्य/गैर-लगातार डेटा पढ़ा जा सकता है। कुछ इसे एक विकल्प के रूप में अनुमति दे सकते हैं।

+0

तब ग्रहण लिंक में दूसरे स्तर के कैश को फ्लश नहीं लग रहा है। – LuckyLuke

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