1
我使用Spring,Hibernate和MySQL的坚持一些记录到一个队列,我稍后处理。
由于我使用Java 8,建议使用JodaTime库而不是Java SQL Date c.f. here
型号
@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
- 休眠 - 4.3.5
- 休眠JPA2 API - 1
- MySQL连接 - 5.1.40
当我试图挽救实体我得到这个堆栈跟踪抱怨截断。
数据截断:不正确的日期时间值:“在行”列“CREATION_DATE” 1个 出错处理请求:无法执行语句; SQL [n/a];嵌套的例外是org.hibernate.exception.DataException:使用Java SQL日期无法执行的语句
我尝试为好,不知道如何解决这个问题one.a
谢谢,这工作。这是令人失望的JodaTime不工作考虑它实现Date.util接口:( – kaleeway