Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JPA + Cache 
:(
    Опции темы
goodday1941
Дата 5.3.2009, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



"шерстя" интернет по данному вопросу столкнулся с проблемой отсутствия информации...

ну информации по большому счету уйма ) но она вся не в тему...

смущают такие строки в примерах даошек, как:

Код

@org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)

или
Код

q.setHint( "org.hibernate.cacheable", true ); 
   

ведь я хочу использовать JPA, значит аннотации должны быть JPAшные, а не хибернейтовсие... а если мне понадобится топЛинк, то мне что потом все аннотации править? смущает...

второе что смущает, это определение кешей по типу:

Код

    <cache name="com.test.Test"
           maxElementsInMemory="2000"
           eternal="false"
           timeToIdleSeconds="1800"
           timeToLiveSeconds="3600"
           overflowToDisk="false"
            />
 

то есть в данном случае кеш отвечает за кеширование сущностей Test. А как на счет List<Test>?

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

ПС.. когда я использовал эхкеш на одном из JDBCшных проектов я явно указывал аннотациями какие методы кешируются в какой кеш, и какие методы вызывают флаш у конкретного кеша


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
MisterCleric
Дата 6.3.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Здравствуй.
Итак, поехали по очереди:
Цитата

@org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
или
q.setHint( "org.hibernate.cacheable", true ); 


В данном случае ты приводишь пример использования кеша второго уровня от Hibernate

Цитата

ведь я хочу использовать JPA, значит аннотации должны быть JPAшные, а не хибернейтовсие..


А никто не сказал, что сама спецификация JPA предоставляет кеш второго уровня

Цитата

а если мне понадобится топЛинк, то мне что потом все аннотации править? смущает...


Тогда и надо будет почитать как TopLink предоставляет кеш второго уровня.
Да и по-моему нету у него аннотаций... Все через XML-конфиги

Цитата

то есть в данном случае кеш отвечает за кеширование сущностей Test. А как на счет List<Test>?


в доках по Hibernate на писано, что для коллекций надо отдельно задавать риджены кеша.
Цитата

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


кеш влашеться или вручную или согласно указанным eviction policy.
При апдейте таблиц самим Hibernate я наблюдал, что происходит автоматическая репликация изменений в кеш при вызове коммита транзакции

Вроде бы ничего не пропустил...

Добавлено через 1 минуту и 24 секунды
приношу извинения за опечатки...  smile 


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
admin82
Дата 6.3.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 22.8.2006

Репутация: 1
Всего: 1



Цитата

Тогда и надо будет почитать как TopLink предоставляет кеш второго уровня.
Да и по-моему нету у него аннотаций... Все через XML-конфиги

Не смотрел TopLink, зато сдавал SCBCD. И согласно спеке по JPA аннотации обязательны, значит, и в TopLink  должны быть, иначе это уже не реализация JPA.
PM MAIL   Вверх
goodday1941
Дата 8.3.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



блин не нравится мне все это... скорее всего буду поднимать кэш как делал раньше(кеширование результатов методов с помощью ЭхКеш)


MisterCleric, может подскажите хороших ссылок по поводу настройки кеша? а то мои поиски в интернете не увенчались успехом smile


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
MisterCleric
Дата 10.3.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

может подскажите хороших ссылок по поводу настройки кеша? а то мои поиски в интернете не увенчались успехом 


Здравствуй. По поводу настроек сказать конкретно ничего не могу. Я почитал документацию по Hibernate 2 level cache и понял, что мне подходит JbossCache так как это единственный транзакционный и реплицируемый кеш, который поддерживает Hibernate. 
Об остальных сказать ничего не могу, но предполагаю, что должно быть просто и для клиентского программиста прозрачно, так как от нас всего лишь требуется декларативно обозвать кешируемые свойства нашей модели, настроить конфиг кеша и усе. Все остальное делает API Hibernate.
EhCache - по-моему самый простой в настройке.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
goodday1941
Дата 10.3.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



ладно буду листать офф сайт хибернейта

Добавлено через 30 секунд
Спасибо за ответы! 


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.