Theo PostgreSQL, tôi đang sử dụng PersistentDuration
để ánh xạ giữa khoảng thời gian loại sql & thời gian nhưng nó không hoạt động.Cách ánh xạ kiểu Interval trong Hibernate?
Một người dùng khác tìm thấy cùng một vấn đề & đi kèm với lớp của mình:
public void nullSafeSet(PreparedStatement statement, Object value, int index)
throws HibernateException, SQLException {
if (value == null) {
statement.setNull(index, Types.OTHER);
} else {
Long interval = ((Long) value).longValue();
Long hours = interval/3600;
Long minutes = (interval - (hours * 3600))/60;
Long secondes = interval - (hours * 3600) - minutes * 60;
statement.setString(index, "'"+ hours +":"
+ intervalFormat.format(minutes) + ":"
+ intervalFormat.format(secondes)+"'");
}
}
Nhưng nó không làm việc với các định dạng thực bởi vì nó cho rằng mô hình khoảng cách chỉ là "hh: mm: ss" . Đó không phải là trường hợp: xem
Dưới đây một số ít ví dụ thực tế tôi cần phải phân tích từ cơ sở dữ liệu:
1 day 00:29:42 00:29:42 1 week 00:29:42 1 week 2 days 00:29:42 1 month 1 week 2 days 00:29:42 1 year 00:29:42 1 decade 00:29:42
http://www.postgresql.org/docs/current/interactive/datatype-datetime.html
Có bạn một giải pháp sạch?
Không bắt buộc phải có một day.And có không chỉ là ngày keywork (năm, tháng, tuần, .. thấy liên kết ở trên) Dưới đây một số ví dụ thực tế từ cơ sở dữ liệu: -1 ngày 00: 29:42 -00: 29: 42 -1 tuần 00:29:42 1 tuần 2 ngày 00:29:42 1 tháng 1 tuần 2 ngày 00:29:42 -1 năm 00:29:42 1 thập kỷ 00:29:42 – adam