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".

0 ответов

Другие вопросы по тегам