định nghĩa lĩnh vựcKhông thể chuyển đổi '0000-00-00 00:00:00' để dấu thời gian
/** Date. */
@Column(columnDefinition = "datetime")
private Date date;
setter
public void setDate(final Date date) {
DateFormat dfmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
this.date = dfmt.parse(dfmt.format(date));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Có ai có ý tưởng làm thế nào để chuyển đổi "không hẹn hò" vào đúng giá trị ? Bởi vì tôi có lỗi:
Cannot convert value '0000-00-00 00:00:00' from column 13 to TIMESTAMP
Và thậm chí nếu tôi đặt trường "mặc định" và setter như thế này:
/** Date. */
@Column
private Date date;
public void setDate(final Date date) {
this.date = date;
}
tôi vẫn sẽ có cùng một vấn đề ....
Dường như với tôi rằng 0000-00-00 00:00:00 không tương ứng với bất kỳ thời điểm thực tế nào trong thời gian và do đó về cơ bản không thể chuyển đổi thành giá trị dấu thời gian. Hành vi bạn muốn là gì? Bạn có muốn nó chuyển đổi ngày ISO không hợp lệ thành giá trị mặc định không? –
động thái tiếp theo sau khi tôi lấy dữ liệu (có nhiều hơn một cột trong bảng) từ bảng là viết nó vào XML nhưng (!) Tôi sẽ không viết giá trị Date vào XML vì vậy tôi chỉ muốn lấy dữ liệu từ bảng và sau đó tôi sẽ không bao giờ gọi phương thức getDate(). – Oleksandr
"Bạn có muốn nó chuyển đổi ngày ISO không hợp lệ thành giá trị mặc định không?" - vâng, nếu có thể ... – Oleksandr