Кэш Hibernate 2-го уровня становится недействительным при выполнении оператора обновления JPQL - PullRequest
3 голосов
/ 08 января 2010

Когда вы запускаете запрос на обновление или удаление JPQL, достаточно ли интеллектуален Hibernate для аннулирования кэша 2-го уровня для изменяемой сущности?

Придуманный пример:

У вас есть JPQL:

update Product p set p.status = 'S' where p.name like 'Monitor%'

Если у вас в настоящее время есть продукты в кеше 2-го уровня, когда выполняется этот оператор, будет ли Hibernate аннулировать все продукты из кеша или он ничего не делает с кешем, а продукты в кеше 2-го уровня теперь недействительны? *

Просто к вашему сведению ... Я использую JBoss 5.1 с Hibernate и JBossCache

1 Ответ

0 голосов
/ 09 января 2010

После выполнения моего собственного теста и выполнения этой ошибки выясняется, что она сделает недействительной ВСЮ кеш второго уровня, а не только кеш второго уровня для любых объектов, участвующих в обновлении.

...