hibernate鎬庝箞娓呴櫎浜岀骇缂撳瓨
鍦℉ibernate涓竻闄や簩绾х紦瀛樺彲浠ヤ娇鐢ㄤ互涓嬪嚑绉嶆柟娉曪細
- 閫氳繃Session鐨別vict()鏂规硶娓呴櫎鐗瑰畾瀹炰綋瀵硅薄鐨勭紦瀛樸€備緥濡傦細
session.evict(entity);
- 閫氳繃SessionFactory鐨別vict()鏂规硶娓呴櫎鐗瑰畾绫诲瀷瀹炰綋瀵硅薄鐨勭紦瀛樸€備緥濡傦細
sessionFactory.evict(EntityClass.class);
- 浣跨敤SessionFactory鐨別victAll()鏂规硶娓呴櫎鎵€鏈夊疄浣撳璞$殑缂撳瓨銆備緥濡傦細
sessionFactory.evictAll();
- 浣跨敤Query瀵硅薄鐨剆etCacheable(false)鏂规硶绂佺敤鏌ヨ缁撴灉鐨勭紦瀛樸€備緥濡傦細
Query query = session.createQuery("from Entity");
query.setCacheable(false);
- 浣跨敤@Cache娉ㄨВ鐨別vict()鏂规硶娓呴櫎鐗瑰畾瀹炰綋瀵硅薄鐨勭紦瀛樸€備緥濡傦細
Cache cache = sessionFactory.getCache().getEntityCacheRegion(EntityClass.class);
cache.evict(entityId);
闇€瑕佹敞鎰忕殑鏄紝娓呴櫎浜岀骇缂撳瓨骞朵笉浼氱珛鍗冲垹闄ょ紦瀛樹腑鐨勬暟鎹紝瀹冨彧鏄妸缂撳瓨涓殑鏁版嵁鏍囪涓烘棤鏁堬紝涓嬫璁块棶璇ユ暟鎹椂浼氳閲嶆柊鍔犺浇鍒扮紦瀛樹腑銆傚鏋滄兂瑕佺珛鍗冲垹闄ょ紦瀛樹腑鐨勬暟鎹紝鍙互浣跨敤浠ヤ笅鏂规硶锛?/p>
- 浣跨敤Query瀵硅薄鐨剆etCacheMode(CacheMode.IGNORE)鏂规硶蹇界暐浜岀骇缂撳瓨銆備緥濡傦細
Query query = session.createQuery("from Entity");
query.setCacheMode(CacheMode.IGNORE);
- 浣跨敤@Cache娉ㄨВ鐨剅egion()灞炴€ф寚瀹氱紦瀛樺尯鍩燂紝鐒跺悗浣跨敤Cache瀵硅薄鐨刢lear()鏂规硶娓呴櫎缂撳瓨鍖哄煙涓殑鏁版嵁銆備緥濡傦細
Cache cache = sessionFactory.getCache().getRegion("entityCacheRegion");
cache.clear();
闇€瑕佹敞鎰忕殑鏄紝娓呴櫎浜岀骇缂撳瓨浼氬奖鍝嶅簲鐢ㄧ▼搴忕殑鎬ц兘锛屽洜涓轰笅娆¤闂鏁版嵁鏃堕渶瑕侀噸鏂颁粠鏁版嵁搴撲腑鍔犺浇銆傚洜姝わ紝娓呴櫎浜岀骇缂撳瓨搴旇璋ㄦ厧浣跨敤锛屽彧鍦ㄥ繀瑕佺殑鏃跺€欒繘琛屾竻闄ゃ€?/p>
相关问答