У меня есть хороший оператор вставки, который имеет 9 параметров, но по какой-то причине iBatis генерирует только 6 для конкретного объекта. Для всех остальных он генерирует 9, как и должно быть.
Может ли быть так, что все параметры NULL?
?,?,?,?,?, Нулевой?, NULL, NULL, NULL, NULL, NULL,?,?,?, NULL, NULL
OK:
Параметры: [[B @ 132b63e, [B @ 5ac911, [B @ 468066, xxxxxxxxxxxxxxxx, ноль, ноль, 0, 0, 0]
NOK:
Параметры: [ноль, ноль, ноль, ноль, ноль, ноль]
И ошибка, как вы и ожидали:
Отсутствуют параметры IN или OUT в индексе 7
INSERT 17 COLUMNS INTO SOME_TABLE VALUES (
#id#,
#someObj.id#,
#someOtherObj.id#,
#aProperty#,
#anotherProperty#,
null,
#yetAnotherProperty#,
null,
null,
null,
null,
null,
#prop1#,
#prop2#,
#prop3#,
null,
null)
someObj и someOtherObj имеют значение NULL. Также мое приложение использует cglib для отложенной загрузки, поэтому могут присутствовать некоторые улучшения, не знаю, влияет ли это на что-то.