В сопоставлении А у меня есть resultMap, который содержит ассоциацию, загруженную с использованием метода другого сопоставителя (сопоставитель B), а метод сопоставления B не имеет аргументов.
Как должна выглядеть ассоциация в маппере А?
Я пробовал следующее:
<association property = "property" column = ""
select = "mapperB.findObjectWithNoArguments"
javaType = "Object"/>
но это не работает, загруженное значение равно нулю (даже если оно действительно существует и должно быть загружено).
Удаление атрибута column приводит к ошибке Ошибка синтаксического анализа Mapper XML. Причина: java.lang.IllegalStateException: в сопоставлении отсутствует атрибут столбца для свойства свойства.





Как оказалось, если вы действительно хотите, чтобы отображение выполнялось через XML, единственный возможный подход - добавить поддельный столбец со значением истинности y, например один:
SELECT
1 AS column_to_force_association
FROM ...
а затем используйте этот фальшивый столбец в ассоциации:
<association property = "property" column = "column_to_force_association"
select = "mapperB.findObjectWithNoArguments"
javaType = "Object"/>
Но это не выглядит оптимальным, поэтому лучший подход - вероятно, загрузить объект без значения и установить его в службе с помощью установщика.