Spring, Hibernate и Ehcache — неправильные сущности

У меня есть веб-приложение, которое использует spring + hibernate для моего уровня данных. Я использую кэширование 2-го уровня с ehcache в качестве провайдера. Кажется, пока все работает, но иногда мы сталкиваемся с проблемой, которую я не могу понять.

Одна из моих таблиц используется для меток в приложении — каждый пользователь, который входит в систему, получает доступ к этой таблице на своем заданном языке. Работает в 90% случаев. Но иногда пользователь получает ярлыки для неправильного языка, например. вместо немецкого все превращается в итальянское.

После выхода из системы и входа в систему все метки верны.

Кто-нибудь из вас сталкивался с чем-то подобным? Я не уверен, где посмотреть: spring+hibernate+ehcache — это солидный пакет или нет?

Ваше здоровье


person onigunn    schedule 27.05.2010    source источник
comment
Я сделал несколько тестов сейчас. С 7 пользователями вошли в систему на 7 языках. Нет проблем. Просто мысль: на стороне клиента используется прокси. Может ли моя проблема возникнуть отсюда?   -  person onigunn    schedule 28.05.2010


Ответы (1)


Spring/Hibernate/EhCache — это надежный стек, я на 99% уверен, что это ошибка в вашем коде.

Есть ли шанс, что метки статически кэшируются где-то в вашем приложении?

Убедитесь, что равенства и хэш-код правильно реализованы в ваших классах сущностей. Вы можете найти информацию о том, как это сделать здесь< /а>

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

person Guillaume    schedule 27.05.2010
comment
Ну, я использую класс dao для этой таблицы как spring bean. Таким образом, все списки и выборки и т. д. генерируются по каждому запросу. Может быть, какие-то старые jsps, которые здесь приведены? - person onigunn; 27.05.2010
comment
Хорошая точка зрения. Я упустил из виду свой класс сущности, ну, у всех остальных есть методы hashCodes и equals, а у этого нет. Я реализовал их сейчас. Возможно, это помогло. - person onigunn; 28.05.2010
comment
Эти методы имеют решающее значение для Hibernate, я подозреваю, что у вас есть коллизии хэш-кода - person Guillaume; 28.05.2010