Как я могу вставить значение NULL в столбец NULL для типа ВРЕМЯ БЕЗ ЧАСОВОГО ПОЯСАJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу вставить значение NULL в столбец NULL для типа ВРЕМЯ БЕЗ ЧАСОВОГО ПОЯСА

Сообщение Anonymous »

У меня есть таблица со столбцом «additional_session_end_ts», который имеет тип ВРЕМЯ БЕЗ ЧАСОВОГО ПОЯСА, и в этом столбце могут быть нулевые значения.
У меня есть простой метод в репозитории моего приложения Java:

Код: Выделить всё

@Modifying
@Query(value = "INSERT INTO auction_proposal_list_link (auction_proposal_id, auction_list_id, mini_session_start_time, " +
"mini_session_end_time, additional_session_end_ts, mini_session_start_time_fixed, mini_session_number) " +
"VALUES (:auctionProposalId, :auctionListId, :sessionStartTime, :sessionEndTime, " +
"CASE WHEN :additionalSessionEndTime IS NOT NULL THEN CAST(:additionalSessionEndTime AS time) ELSE CAST(NULL AS time) END, " +
":startTimeFixed, :miniSessionNumber)",
nativeQuery = true)
void insertAuctionBySeries(
@Param("auctionProposalId") Long auctionProposalId,
@Param("auctionListId") Long auctionListId,
@Param("sessionStartTime") LocalTime sessionStartTime,
@Param("sessionEndTime") LocalTime sessionEndTime,
@Param("additionalSessionEndTime") LocalTime additionalSessionEndTime,
@Param("startTimeFixed") Boolean startTimeFixed,
@Param("miniSessionNumber") Long miniSessionNumber
);
и я всегда вижу ошибку:

Код: Выделить всё

InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statementcaused by: SQLGrammarException: could not execute statement caused by: PSQLException: ERROR: cannot cast type bytea to time without time zone
И эта ошибка произошла из-за того, что я попытался вставить в extra_session_end_ts NULL.
Я пробовал разные подходы, подобные приведенным выше, COALESCE(CAST(:additionalSessionEndTime AS time), NULL ::time), просто вставьте значение null, и у меня ничего не работает.
Я просто хочу иметь простую логику - вставить какое-то значение в столбец extra_session_end_ts или вставить NULL, если значение равно null.
Как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -time-zone
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»