![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Grelloo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 18.3.2006 Где: г. Екатеринбург Репутация: нет Всего: нет |
Надо определить используется second-level кэш hibernate или нет.
Я использую кэш провайдер ehcache для кэширования hibernate. Чтобы определить использовался ли кэш или нет, я могу заглянуть в логи, но мне дали задание наглядно показать, что объект кэшируется посредством second-level cache (для учебных целей). То бишь надо показать, что если используется first-level cache, то объект извлекается каждый раз из базы данных (если это не внутри одной транзакции), а при использовании second-level cache объект первый раз извлекается из базы и кладется в кэш, а при повторном вызове просто берется из кэша, не обращаясь к базе. Как это можно сделать? |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Загляни в javadoc ehcache - http://ehcache.sourceforge.net/apidocs/index.html. Последовательность действий может быть такой:
|
|||
|
||||
| Grelloo |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 18.3.2006 Где: г. Екатеринбург Репутация: нет Всего: нет |
Написал следующий код:
В логах выбрасывает следующее:
То бишь как я понял example.Honey - это имя кэша, который я использую По поводу ключа получаю следующее
Я вписал его в метод get() В конце концов он пишет
|
||||||||
|
|||||||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Так ничего не выйдет. Видишь ли, Hibernate в качестве ключей использует не строки, а классы org.hibernate.cache.CacheKey (это можно было узнать, напечатав класс ключа). Следовательно и искать в кэше надо создавая экземпляры этих классов поскольку equals() для разных классов заведомо вернет false.
Вот так вот прекрасно работает:
Это сообщение отредактировал(а) tux - 4.5.2006, 03:13 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |