Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैन्युअल रूप से डीबी अपडेट के बाद हाइबरनेट द्वितीय स्तर कैश साफ़ करें

हाइबरनेट JavaDoc के अनुसार, आप org.hibernate.Cache.evictAllRegions() का उपयोग कर सकते हैं :

<ब्लॉकक्वॉट>

evictAllRegions() कैश से सभी डेटा को बेदखल करें।

सत्र और सत्र फ़ैक्टरी का उपयोग करना:

Session session = sessionFactory.getCurrentSession();

if (session != null) {
    session.clear(); // internal cache clear
}

Cache cache = sessionFactory.getCache();

if (cache != null) {
    cache.evictAllRegions(); // Evict data from all query regions.
}

1) यदि आपको केवल एक इकाई को अपडेट करने की आवश्यकता है (यदि सीधे डीबी से आप केवल कुछ संस्थाओं को अपडेट करेंगे) पूरे सत्र में नहीं, तो आप उपयोग कर सकते हैं

<ब्लॉकक्वॉट>

evictEntityRegion(Class entityClass) दिए गए क्षेत्र से सभी निकाय डेटा को निकालता है (अर्थात

2) यदि आपके पास बहुत सी इकाइयां हैं, जिन्हें सीधे डीबी से अपडेट किया जा सकता है, तो आप इस विधि का उपयोग कर सकते हैं जो सभी इकाइयों को दूसरे स्तर के कैश से निकाल देता है (हम इस विधि को जेएमएक्स या अन्य व्यवस्थापक टूल के माध्यम से व्यवस्थापकों को उजागर कर सकते हैं):

/**
 * Evicts all second level cache hibernate entites. This is generally only
 * needed when an external application modifies the game databaase.
 */
public void evict2ndLevelCache() {
    try {
        Map<String, ClassMetadata> classesMetadata = sessionFactory.getAllClassMetadata();
        Cache cache = sessionFactory.getCache();
        for (String entityName : classesMetadata.keySet()) {
            logger.info("Evicting Entity from 2nd level cache: " + entityName);
            cache.evictEntityRegion(entityName);
        }
    } catch (Exception e) {
        logger.logp(Level.SEVERE, "SessionController", "evict2ndLevelCache", "Error evicting 2nd level hibernate cache entities: ", e);
    }
}

3) पोस्टग्रेस्क्ल + हाइबरनेट के लिए यहां एक और दृष्टिकोण का वर्णन किया गया है, मुझे लगता है कि आप ओरेकल के लिए कुछ ऐसा ही कर सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle संग्रहीत कार्यविधि से वेब सेवा एक्सेस करें

  2. शीर्ष n प्रतिशत शीर्ष n%

  3. Oracle डेटाबेस सुरक्षा:डेटाबेस ऑडिटिंग

  4. उस कथन के ट्रिगर के अंदर किसी कथन से प्रभावित पंक्तियों की संख्या कैसे प्राप्त करें

  5. Oracle SQL*Plus का उपयोग कैसे करें