Я пытаюсь выполнить операцию вставки в таблицу БД Oracle из Java с JPA.
Ниже приведен мой код:
String coCode;
String coDescription;
/* some operations on data ... */
String queryStatement =
"insert into MANAGER_DATA (CO_CODE, CO_DESCRIPTION) values (?1, ?2)";
Query updateQuery = getEntityManager(context).createNativeQuery(queryStatement);
updateQuery.setParameter(1, coCode);
updateQuery.setParameter(2, coDescription.compareTo("") == 0 ? null : coDescription);
updateQuery.executeUpdate();
Проблема в том, что coDescription
может быть нулевымв случае пустой строки и, в этом случае, я хочу, чтобы нулевое значение также добавлялось в таблицу (coCode
является первичным ключом, но coDescription
допускает значение NULL).Очевидно, я не могу передать значение null
в функцию setParameter
напрямую, как я делаю выше.
Как я могу решить эту проблему и разрешить добавление нулевого значения в мою таблицу БД?