iBatis mapper не вставляет в базу данных Oracle, выбрасывая исключение NullPointerException
У меня есть iBatis insert mapper, который пытается вставить новую запись в Oracle db. Картограф принимает класс Entity в качестве параметра и имеет ключ sPro в качестве идентификатора записи. Проблема в том, что преобразователь не вставляет новую запись в Oracle db и возвращает NullPointerException, когда вызывается findByPrimaryKey().
Я попытался вставить новую запись через SQLDeveloper, используя тот же запрос вставки, и он работает нормально. Не уверен, что это как-то связано с mapper, или значение keyProperty неправильно введено в запрос mapper. Значение keyProperty должно увеличиваться на 1 для каждой новой вставленной записи.
<insert id="insertSelective" parameterClass="entity-class" >
<selectKey resultClass="java.lang.Integer" keyProperty="sid" >
SELECT IRWO.SEQIRWOJ.nextval as sid FROM DUAL
</selectKey>
INSERT INTO IRWO.WSO
<dynamic prepend="(" >
<isNotNull prepend="," property="sid" >
SID
</isNotNull>
<isNotNull prepend="," property="wsoNbr" >
WSO_NBR
</isNotNull>
)
</dynamic>
VALUES
<dynamic prepend="(" >
<isNotNull prepend="," property="sid" >
#sid:INTEGER#
</isNotNull>
<isNotNull prepend="," property="wsoNbr" >
#wsoNbr:VARCHAR#
</isNotNull>
</dynamic>
</insert>
Ожидаемый результат - успешно вставить новую запись со столбцом "sid" в качестве идентификатора, но вместо этого он возвращает исключение NullPointerException в ключе "sid".