iBatis mapper не вставляет в базу данных Oracle, выбрасывая исключение NullPointerException - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть средство вставки iBatis, которое пытается вставить новую запись в 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».ключ.

...