2010-06-24 12 views
5

devre dışı .hazırda sorun takiben Sorgu Cache

Hazırda bekletme, Hazırda Beklet'i önbelleğe alır. Ben (yanlış)

query.setCachable ile Caching devre dışı bırakmak için çalıştı

"hibernate.cache.use_second_level_cache"

"cache.provider_class"

"org.hibernate.cacheable"

yıkama ve oturumu

kapanış 10

ama hiçbir şey

+0

Neyi denediğinizi anlamıyorum (yaptığınız gibi bir sürü seçenek atmak oldukça net değil). Ayrıca, sorguyu görmek isterim. –

+0

Bu bir Servlet/JSP Page Sorgu sorgu = session.createQuery ("MyTable'dan"); query.setCacheable (false); Liste bar = query.list(); İlk Çağrıda, Tablonun Girişlerini alıyorum, sonra bazı alanları elle değiştiriyorum, eğer fonksiyonu tekrar ararsam (örneğin, yenileme/yeniden yükleme) – Patrick

+0

'dan önceki ile aynı sonucu değiştirdikten sonra nesneyi kurtarıyorsunuz o? İşlemler var mı? –

cevap

4

İstediğin yapılandırma

hibernate.cache.use_query_cache = false 

Reference olduğunu düşünüyorum çalışır.

+0

çalışmıyor ... – Patrick

+2

bu daha sonra sorgu önbelleğinin sizin sorununuz olmadığını belirtiyor –

2

Bu değiştirilen girdiyi hiçbir zaman hazırda bekletme veya güncelleştirmediğiniz olabilir mi? Önbellek yanlış bir sonuç döndürdüğünde, bu genellikle başka bir şeyin yanlış olduğunun göstergesidir.

+0

Tablodaki alanı manuel olarak değiştirdim ve ben de bunu taahhüt ettim – Patrick

+0

Kodla veya en azından girişin düzenlenmesi ve güncellenmesiyle ilgili parçalar ile ilgili soru? –

1

2. veya Query önbellekleriyle ilgisi yoktur, bunlar zaten varsayılan olarak devre dışıdır! Muhtemelen durumunuza yardımcı olacak olan şey, session.refresh(yourEntity) numaralı telefonu aramaktır, böylece varlığınızın durumu hazırda bekletme durumuna göre yeniden okunur.

İlgili konular