Значения, не обновляющиеся в пользовательском интерфейсе после сохранения в JPA, связанные с кэшем - PullRequest
0 голосов
/ 05 февраля 2012

Я занимаюсь разработкой Java-приложения для электронной коммерции с JSF и JPA.Когда я добавляю товары в корзину, я вижу, что они добавлены в базу данных, но не отображается список товаров, взятый из базы данных.При втором доступе я вижу обновленный valuse.Кажется, что это кеширование значений.

Я бы хотел постоянно обновлять значения без кэширования.Кто-нибудь знает как?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Спасибо всем! Я нашел решение: я установил режим общего кэша на None в файле persistence.xml

1 голос
/ 06 февраля 2012

Вы можете очистить кеш при добавлении чего-либо в корзину или настроить, чтобы не преследовать сущность, которая отвечает за корзину.

если вы используете EclipseLink;

1- Вы можете использовать эту аннотацию для объекта корзины

 @Cache(alwaysRefresh=true) 

2- или вы можете обновить весь кеш с помощью

em.getEntityManagerFactory().getCache().evictAll();

но если вы не используете eclipseLink, я думаю, что на вашей платформе есть такие же решения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...