All,
I am using Spring, Hibernate and MySQL to persist some records to a queue which I process later.
Since I am using Java 8, the recommendation is to use JodaTime library rather than Java SQL Date c.f. here
Model
    @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();
}
Table
`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,
Dependency Versions
- Spring Framework - 4.3.3
- Hibernate - 4.3.5
- Hibernate JPA2 API - 1
- MySQL Connector - 5.1.40
When I try to save an entity I get this stack trace complaining about truncation.
Data truncation: Incorrect datetime value: '��' for column 'creation_date' at row 1 Error while processing request: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement
I've tried using Java SQL Date as well, not sure how to fix this one.a
 
     
    