Итак, я действительно цепляюсь за соломинку за идеи здесь. (Также обратите внимание: это прерывистый проблема)hibernate ehcache только нахождение 1 элемента коллекции
я есть «родительский» объект с коллекцией предметов «ребенка»:
< Родитель вещи>
...
< набор имя =» дети "обратная = "истина" порядка по = "child_id">
< использование кэша = "чтение-запись"/>
< ключевой столбец = "parent_id"/>
< один-ко-многим класса =" ChildClass "/>
</комплект>
...
</родитель>
< ребенка вещи>
...
< многие-к-одному имени = "родительским"
колонка = "parent_id"
вставка = "истина"
обновление = "истинный"
не-нуль = "истинный"
класс = "ParentClass"
индекс = "idx_child_parent" /> ...
</ребенок>
если я выполнить запрос, который, как: "выбрать детей из ChildClass ребенка" + «, где child.parent =: родитель «; он находит всех детей. идеально.
Однако, если я ищу родительский объект (и найду его), спящий режим проходит и создает мой ParentClass, но только заполняет ONE (первый) дочерний элемент. я фактически отлаживался в спящий код и обнаружил, что infact вызов setChildren() в ParentClass был отправлен только 1 коллекцией элементов - когда я знаю, что из первого запроса больше.
так что я использую EHCache, и очистка его не очень хорошо: вызов CacheManager.getInstance(). ClearAll();
перезапуск приложения работает. только для того, чтобы он вскоре разрывался на кажущемся случайным экземпляром родителя.
Существует не что-нибудь (что я знаю), что происходит непосредственно, чтобы вызвать это. кто-нибудь знает ошибку в спящем режиме, которая может вызвать это, или ошибку EHCache. я правильно звоню в свой кеш?
любые указатели были бы хорошими.
Я использую hibernate 3.2.6, и та же проблема возникает и в mysql и postgres.
edit: Я также должен добавить, что эта коллекция только с одним элементом находится в состоянии «никогда не существовало». то есть. никогда не было транзакций, в результате которых только один дочерний элемент
Извините за скучный комментарий, но 'hashCode()' :) – Bozho
, если они были неправильными, он (предположительно) последовательно возвращал неправильных детей. Однако я все равно проверял, и они верны. спасибо за идею – gcrain