Когда hibernate использует свой кэш первого уровня?как войти? - PullRequest
5 голосов
/ 14 февраля 2012

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

Если я делаю следующий запрос hql: "из документа d осталось присоединиться к файлу d.folder, где d.id = 2"; несколько раз в одном сеансе будет использоваться кеш?

Спасибо

1 Ответ

2 голосов
/ 14 февраля 2012

Hibernate L1 кеш хранит объекты по первичному ключу.Это означает, что если вы загружаете одну и ту же сущность, используя load() или get() (я думаю, что это также относится к простым запросам, таким как: from Document d where d.id=2), она будет кэширована.

В вашем случае запрос являетсянемного сложнее, и вам придется использовать L2.К сожалению, нет регистратора, указывающего активность L1 (по крайней мере, не задокументировано ), но достаточно посмотреть запросы SQL.

См. Также:

...