Java 冬眠+;Mysql:数据截断:日期时间值不正确

Java 冬眠+;Mysql:数据截断:日期时间值不正确,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,全部, 我正在使用Spring、Hibernate和MySQL将一些记录持久化到一个队列中,稍后再进行处理 因为我使用的是Java8,所以建议使用JodaTime库而不是JavaSQLDateC.f 型号 @Entity @Table(name = "order_job_queue") public class CancelReward implements Serializable { private static final long serialVersionUID = 1

全部,

我正在使用Spring、Hibernate和MySQL将一些记录持久化到一个队列中,稍后再进行处理

因为我使用的是Java8,所以建议使用JodaTime库而不是JavaSQLDateC.f

型号

    @Entity
@Table(name = "order_job_queue")
public class CancelReward implements Serializable {
    private static final long serialVersionUID = 1L;


    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id;

    @Column(name = "processed_state")
    private String processedState;

    @Column(name = "order_reference_id")
    private int orderReferenceId;

    @Column(name = "creation_date", columnDefinition = "DATETIME DEFAULT")
    private DateTime creationDate;

    @Column(name = "last_checked_date", columnDefinition = "DATETIME DEFAULT")
    private DateTime lastCheckedDate; ...

@PrePersist
protected void onCreate() {
    creationDate = new DateTime().toDateTime();
}

@PreUpdate
protected void onUpdate() {
    lastCheckedDate = new DateTime().toDateTime();
}
表格

`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`processed_state` VARCHAR(45) NOT NULL,
`order_reference_id` INT UNSIGNED NOT NULL,
`creation_date` DATETIME NOT NULL,
`last_checked_date` DATETIME NOT NULL,
依赖版本

  • Spring框架-4.3.3
  • Hibernate-4.3.5
  • HibernateJPA2 API-1
  • MySQL连接器-5.1.40
当我试图保存一个实体时,我得到这个堆栈跟踪,它抱怨截断

数据截断:日期时间值不正确:'��' 对于第1行的“创建日期”列 处理请求时出错:无法执行语句;SQL[n/a];嵌套异常为org.hibernate.exception.DataException:无法执行语句


我也尝试过使用Java SQL Date,但不确定如何修复此问题。请尝试使用Java中的标准日期:

import java.util.Date;

java.sql.Timestamp
应该也能用,但我自己从来没有试过。

谢谢,这很有效。令人遗憾的是,考虑到JodaTime实现了Date.util接口,它无法工作:(