Mysql
 sql >> Base de données >  >> RDS >> Mysql

L'insertion avec la requête native Hibernate ne fonctionne pas pour java.util.Date

N'utilisez pas la concaténation pour insérer des données dans les requêtes, utilisez plutôt des paramètres. Il résout le problème de mauvaise représentation des valeurs, ainsi que de nombreux autres problèmes :

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();