मेरा जावा ऐप हर 10 सेकंड में एक क्वेरी के लिए mysql सर्वर से पूछता है।
मैं तालिका में मैन्युअल रूप से एक नई पंक्ति डालता हूं।
और हाइबरनेट इसे नहीं ढूंढ सकता है।
जब भी मैं मैन्युअल रूप से एक पंक्ति को हटाता हूं, हाइबरनेट दिखाता है कि यह पंक्ति मौजूद है।
मेरा सुझाव है कि ऐसा इसलिए है क्योंकि हाइबरनेट कैशिंग।
क्या इसे अक्षम करने का कोई तरीका है?
धन्यवाद!पूरी तरह से हाइबरनेट कैशिंग अक्षम कैसे करें? (स्प्रिंग 3 के साथ, एनोटर्नेट एनोटेशन के साथ)
उत्तर
क्या आपका मतलब प्रथम स्तर का कैश या दूसरा-स्तर कैश है? Hibernate द्वितीय-स्तरीय कैश जैसे Ehcache है कि उसी तालिका में पंक्तियों के अनुरूप कैश इकाइयां जो मैन्युअल रूप से संशोधित करती हैं, वे आपके द्वारा वर्णित व्यवहार का कारण बन सकती हैं। प्रथम-स्तर के कैश इस व्यवहार का कारण नहीं बनेंगे, और मुझे नहीं लगता कि आप इसे अक्षम कर सकते हैं, वैसे भी।
हाइबरनेट द्वितीय-स्तरीय कैश को अक्षम करने के लिए, हाइबरनेट कॉन्फ़िगरेशन फ़ाइल, hibernate-cfg.xml
से हटाएं, सभी पंक्तियां जो द्वितीय-स्तर के कैश को संदर्भित करती हैं। उदाहरण के लिए:
<!-- Enable the second-level cache -->
<property name="hibernate.cache.provider_class">
net.sf.ehcache.hibernate.EhCacheProvider
</property>
<property name="hibernate.cache.region.factory_class">
net.sf.ehcache.hibernate.EhCacheRegionFactory
</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.use_structured_entries">true</property>
<property name="hibernate.cache.generate_statistics">true</property>
आप hints.put ("javax.persistence.cache.retrieveMode", CacheRetrieveMode.BYPASS) का उपयोग कर सकते हैं; आपकी दृढ़ विधि() में यह काम कर सकता है।
प्रथम स्तर के कैश को अक्षम करने के लिए "कोशिश करें" करने के लिए, मैं इसे एंटीटीमेनगर से अनुरोध करता हूं कि हर बार इसे बेदखल कर दें। मेरे लिए काम किया;)
public EntityManager getEntityManager(){
if(emf == null){
if (parameters == null) {
emf = Persistence.createEntityManagerFactory(persistenceUnitName);
} else {
emf = Persistence.createEntityManagerFactory(persistenceUnitName, parameters);
}
} else {
emf.getCache().evictAll();
}
EntityManager em = emf.createEntityManager();
return em;
}
धन्यवाद, यह मेरे लिए काम किया। – CrushedPixel
- 1. Nginx प्रॉक्सी कैशिंग को पूरी तरह अक्षम कैसे करें
- 2. एनोटेशन के साथ हाइबरनेट इंटरसेप्टर
- 3. मैं केकफ़्पी में कैशिंग को पूरी तरह अक्षम कैसे करूं?
- 4. django.contrib.auth को पूरी तरह अक्षम कैसे करें?
- 5. एनोटेशन के साथ स्प्रिंग एमवीसी सत्यापन
- 6. हाइबरनेट एनोटेशन के साथ मैपिंग एनम प्रकार
- 7. कैसे पूरी तरह से अक्षम अभिकथन
- 8. हाइबरनेट कैशिंग को अक्षम करने के लिए कैसे करें
- 9. स्प्रिंग 3 के साथ जेपीए कॉन्फ़िगर कैसे करें?
- 10. स्प्रिंग 3 एनोटेशन
- 11. एनोटेशन के साथ स्प्रिंग लुकअप विधि इंजेक्शन कैसे करें?
- 12. हाइबरनेट 3 और स्प्रिंग
- 13. पूरी तरह से अक्षम NSTextView वर्तनी जांच
- 14. स्प्रिंग 3.x के साथ https साइट कैसे विकसित करें?
- 15. पूरी तरह से अलग सामग्री के साथ गिट शाखाएं
- 16. स्प्रिंग 3 @ ऑटोवायर एनोटेशन मुद्दे
- 17. हाइबरनेट के साथ एक पेड़ का मॉडल कैसे करें?
- 18. एनोटेशन के साथ हाइबरनेट में डेटाबेस स्कीमा को प्रोग्रामेटिक रूप से कैसे सत्यापित करें?
- 19. मानचित्र जेपीए के साथ स्ट्रिंग की एक सूची/एनोटेशन हाइबरनेट
- 20. वसंत और हाइबरनेट के साथ जोडाटाइम का उपयोग कैसे करें?
- 21. Restkit, कैशिंग अक्षम करें
- 22. जावा और हाइबरनेट के साथ डेटा 'सुरक्षा'
- 23. मैं टोमकैट कैशिंग को पूरी तरह अक्षम कैसे कर सकता हूं?
- 24. लिंक बटन को पूरी तरह अक्षम कैसे करें?
- 25. स्प्रिंग, @Configuration और @Bean एनोटेशन के साथ काम करने
- 26. ओएसजीआई बनाम स्प्रिंग बनाम स्ट्रैट्स बनाम ईजेबी बनाम हाइबरनेट - एक पूरी तरह से नौसिखिया का प्रश्न
- 27. स्प्रिंग, हाइबरनेट, 3 टीयर वास्तुकला
- 28. हाइबरनेट जेपीए एनोटेशन: एंबेडेड आईडी के साथ समस्या
- 29. स्प्रिंग के @ अनुरूपित एनोटेशन
- 30. पंजीकृत उपयोगकर्ताओं के साथ एक वेब साइट पर एक्सएमपीपी को पूरी तरह से एकीकृत कैसे करें
हाय डेरेक, धन्यवाद या आपके उत्तरों! एचएम, ऐसा लगता है कि मेरे पास दूसरे स्तर को हटाने की कोशिश करने के लिए दूसरा स्तर कैशिंग नहीं है? मैं यह कैसे कर सकता हूँ? – gennad
जहां तक मुझे पता है, आप पहले-स्तर के कैश को अक्षम नहीं कर सकते हैं, लेकिन http://stackoverflow.com/questions/3943366/how-can-i-configure-hibernate-to-immediately-apply-all-saves के अनुसार -अपडेट्स-एंड-डिलीट/3946939 # 3946939, स्प्रिंग पहले-स्तर के कैश की उत्सुक फ्लशिंग सक्षम कर सकता है, जो प्रभावी रूप से एक ही परिणाम प्राप्त करेगा। –