У меня есть следующая структура:
класс А
{
Значение B
}
класс B
{
}
Отношение между ними отображается в двух направлениях в Hibernate, поэтому я использую b.getListOfA (), чтобы получить все ссылки A на B, и наоборот.
У меня есть приложение Wicket, у которого есть экран редактирования для редактирования класса А. Этот экран инициализируется из DataTable с моделью, которую дает DataRowProvider (это LoadableDetachableModel). Когда я не использую ajax, я могу получить превосходный выпадающий список (стандартный компонент калитки), который я заполняю, запрашивая все буквы B.
Теперь я пытаюсь сделать DropDownChoice AutoCompleteTextBox. Все отлично работает, я могу выбрать B, и он правильно заполнен, установлен в модели A.
Но когда я пытаюсь сохранить отредактированный экземпляр A, я получаю исключение гибернации:
org.hibernate.NonUniqueObjectException: другой объект с тем же значением идентификатора уже был связан с сеансом
Я использую фильтр OpenSessionInView из Spring и метод saveOrUpdate для сохранения своих объектов.
Есть намеки? Улики? Советы по отладке?