Я НЕ хочу, чтобы Hibernate кэширование в Play - PullRequest
1 голос
/ 19 июля 2011

Я разрабатываю довольно простое приложение с Play, которое содержит автозаполнение пользовательского интерфейса jQuery. Это автозаполнение отправляет ajax-запрос на сервер и возвращает id / значения (используя фрагмент кода, предоставленный Питером Хилтоном).

У меня проблема с перезагрузкой тестирования Selenium: - когда я запускаю свое приложение в тестовом режиме (play test), оно загружает id / значения в дб памяти (через функцию начальной загрузки) - когда я запускаю свои тесты селена, он удаляет данные и загружает тестовые данные с теми же значениями, но с новыми идентификаторами (что мне кажется нормальным) - при запуске теста автозаполнение возвращает старые идентификаторы / значения вместо новых, и я получаю «объект не найден для идентификатора nn» => старые значения, похоже, загружаются в кэш-память сервера, но при воспроизведении Документация объясняет это, это не должно ...

Я проверил, что использовал @javax.persistence.Entity, а не спящий режим @Entity

Я также проверил мой application.conf, который кажется нормальным:

%test.application.mode=dev
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
%test.jpa.ddl=create-drop
%test.mail.smtp=mock

Помогите пожалуйста ...

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

По умолчанию Hibernate использует только кэш сеанса (это не сеанс Http), который в основном равен продолжительности запроса, см. http://community.jboss.org/wiki/SessionsAndTransactions

Так что я не верю, что проблема, с которой вы столкнулись, связана с Hibernate, если вы не настроили кэш второго уровня и не используете @Cache на своих объектах.

Это может быть вызвано чем-то простым кеш вашего браузера. Попробуйте удалить кеш браузера.

0 голосов
/ 21 июля 2011

JPA использует Hibernate, поэтому не имеет значения, какую аннотацию вы используете. Но я не думаю, что это проблема hiberante, потому что каждый запрос должен получить новую Hibernate-Session. Поэтому проанализируйте свой код с помощью операторов журнала, чтобы убедиться, что это проблема гибернации.

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