Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen mit nativer Hibernate-Abfrage funktioniert nicht für java.util.Date

Verwenden Sie keine Verkettung, um Daten in Abfragen einzufügen, verwenden Sie stattdessen Parameter. Es löst Probleme mit falscher Darstellung von Werten sowie viele andere Probleme:

entityManager.createNativeQuery(
    "INSERT INTO TASK_ASSESSMENT (ACTIVE_FLAG, ASSESSMENT_DATE, DESCRIPTION, "
    + "TITLE, NEEDS_LEVEL_ID, PATIENT_ID, USER_ID) VALUES (?, ?, ?, ?, ?, ?, ?)")
    .setParameter(1, true)
    .setParameter(2, saveDate, TemporalType.TIMESTAMP) // Since you want it to be a TIMESTAMP
    .setParameter(3, description)
    .setParameter(4, title)
    .setParameter(5, needsLevelId)
    .setParameter(6, patientId)
    .setParameter(7, userId) 
    .executeUpdate();