Wie kann ich für den Typ TIME WITHOUT TIME ZONE null in die Spalte NULL einfügen?Java

Java-Forum
Guest
 Wie kann ich für den Typ TIME WITHOUT TIME ZONE null in die Spalte NULL einfügen?

Post by Guest »

Ich habe eine Tabelle mit der Spalte „additional_session_end_ts“ vom Typ TIME WITHOUT TIME ZONE und in dieser Spalte können Nullwerte vorhanden sein.
Ich habe eine einfache Methode im Repository meiner Java-Anwendung:

Code: Select all

@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
);
und ich sehe immer einen Fehler:

InvalidDataAccessResourceUsageException: Anweisung konnte nicht ausgeführt werden; SQL [n/a]; Die verschachtelte Ausnahme ist org.hibernate.Exception.SQLGrammarException: Anweisung konnte nicht ausgeführt werden, verursacht durch: SQLGrammarException: Anweisung konnte nicht ausgeführt werden, verursacht durch: PSQLException: FEHLER: Typ Bytea kann nicht in Zeit ohne Zeitzone umgewandelt werden

Und dieser Fehler ist aufgetreten, weil ich versucht habe, in „additional_session_end_ts NULL“ einzufügen.
Ich habe verschiedene Ansätze wie oben ausprobiert, COALESCE(CAST(:additionalSessionEndTime AS time), NULL::time), fügen Sie einfach null ein und nichts funktioniert bei mir.
Ich möchte nur die einfache Logik haben – fügen Sie einen Wert in die Spalte „additional_session_end_ts“ ein oder fügen Sie NULL ein, wenn der Wert vorhanden ist null.
Wie kann ich das machen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post