Конфигурация iBatis LazyLoading - PullRequest
1 голос
/ 07 марта 2012

Мне нужно сериализовать некоторые объекты, загруженные iBatis, но я получаю NotSerializableException, потому что lazyLoadingEnabled = "true".

Я вижу, что это известное ограничение (см. https://issues.apache.org/jira/browse/IBATIS-529),, но я пока не нашел обходного пути, кроме выключения отложенной загрузки для всего приложения.

ВопросУ меня есть, есть ли какой-либо более точный контроль над отложенной загрузкой. В настоящее время это включено / отключено в sqlMapConfig / settings, который применяется ко всем ресурсам sqlMap. Есть ли способ включить / отключить это программно или только для определенных sqlMaps?

Ответы [ 2 ]

0 голосов
/ 11 мая 2016

Найдите файл конфигурации в своем проекте с элементом <sqlMapConfig> и во вложенном элементе <settings>, вы можете указать lazyLoadingEnabled="false", но если ваш запрос извлекает другие сложные объекты с внешней выборкой, у вас наверняка будет действительное Переполнение стека проблема!

0 голосов
/ 14 марта 2012

никогда не находил решения для явного управления отложенной загрузкой ... однако я решил свою проблему, просто преобразовав свой объект в XML (поэтому явно загружая все необходимые поля) и используя его для своей полезной нагрузки (чтобы вообще избежать сериализации объектов)... очевидно, не идеал, но он работал для моих нужд и, по-видимому, на уровне производительности (учитывая, что сериализация объектов в любом случае медленная)

...