EJB и JPA: обновление базы данных не будет отображаться на странице до перезапуска сервера. - PullRequest
1 голос
/ 15 марта 2011

Я создал приложение с EJB и JPA2.Если у меня запущена страница, и я что-то изменяю в базе данных, она не будет отображаться на странице.Я пробовал разные браузеры, сеансы без кэширования в браузерах и т. Д. Единственный способ увидеть новые данные - перезапустить glassfish 3.1.Я прошел отладку, и он, очевидно, каждый раз строит новый список, но данные, которые он получает, устарели.

Вот мой метод findAll.

public List<T> findAll() {
    CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
    cq.select(cq.from(entityClass));
    return getEntityManager().createQuery(cq).getResultList();
}

Есть ли настройка для glassfish /ejb что говорит это не кешировать базу данных?Или что-то похожее на это.

Просто хочу повторить, что перезапуск Glassfish решает проблему.До следующей смены курса.

1 Ответ

3 голосов
/ 20 марта 2011

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

...