Проблема
Я столкнулся со следующей ошибкой во время обработки данных или десериализации объекта с помощью XStream:
com. Thoughtworks.xstream.converters.ConversionException: Неверная ссылка: Неверная ссылка ---- Информация об отладке ---- сообщение: Неверная ссылка
ссылка: ../../storedSnapshot/[EntityName] ссылочный тип: [EntityName] ссылочный: true класс: java.util.HashSet
требуемый тип: java.util.HashSet тип преобразователя: com. Thoughtworks.xstream.converters.collections.CollectionConverter путь: /[EntityPath]/[EntityName] номер строки: 1 класс[1]: org.hibernate.collection.spi.PersistentSet требуемый тип[1]: org.hibernate.collection.spi.PersistentSet тип преобразователя[1]: com . Thoughtworks.xstream.converters.reflection.ReflectionConverter class[2]: [EntityClass] требуемый тип[2]: версия [EntityClass]: недоступна
Ошибка возникает, когда я пытаюсь загрузить сеанс Hibernate или при попытке десериализации объекта с помощью XStream.
Предпринятые шаги:
- Я просмотрел код, в частности сопоставления и связи данных, но ошибка не устранена.
- Похоже, проблема связана со ссылками в процессе преобразования XStream, и все Set загружаются из родительской формы. Загрузка сущностей и отложенная загрузка не работают.
- Я пытался обновить конфигурацию XStream для правильной обработки коллекций и ссылок, но пока безрезультатно.
Среда: - Спящий режим: [6.5.2]
- XStream: [1.4.20]
- Java: [17]
- XStream(); xstream.setMode(XStream.NO_REFERENCES);
String xml1= xstream.toXML(policy); - Изменены разрешения безопасности XStream, чтобы разрешить ссылки.
- Hibernate.enable_lazy_load_no_trans true в файле hibernate.cfg. Мы не используем аннотации в наших проектах, только сопоставления файлов hbm
Что может быть причиной ConversionException во время процесса десериализации. Как решить эту проблему? Требуются ли в XStream или Hibernate определенные изменения конфигурации для управления коллекциями и ссылками?
Дополнительная информация:
Если есть какие-либо известные ошибки или несовместимости между Hibernate и XStream, которые могут вызвать эту ошибку, будем признательны за любую информацию.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ionexcepti