Có hibernate-java8
JAR cung cấp adapter cho một vài lớp học như Instant
, LocalDate
, vv, nhưng một số lớp học từ java.time
, ví dụ, Year
, Month
, YearMonth
đang thiếu. Các lớp này được lưu trữ như một số chưa biết Serializable
, không cần thiết lãng phí.Hibernate serialize java.time.year và những người khác
Chắc chắn tôi có thể sử dụng int year
thay vì Year year
, nhưng tôi không nghĩ, đó là một ý tưởng hay.
Dường như viết YearJavaDescriptor
sẽ khá dễ dàng, tuy nhiên, tôi tự hỏi tại sao nó thiếu. Đặc biệt là trong trường hợp của YearMonth
, tôi rất muốn có một bộ điều hợp hiện có, ist có bất kỳ? Hay tôi đang làm điều gì đó ngu ngốc?
Tôi không chắc chắn vì googling không trả về gì cả.
Tôi nghĩ rằng đây trả lời vấn đề của bạn: http://stackoverflow.com/questions/40825495/java-time-yearmonth-as-a-type -within-entity – LLL
Một lời khuyên khi sắp xếp/mã hóa một loại như 'YearMonth'. [Hãy suy nghĩ về số liệu thống kê cơ sở dữ liệu của bạn] (https://blog.jooq.org/2016/10/05/why-you-should-design-your-database-to-optimise-for-statistics/), và có lẽ tránh được định dạng có thể đọc được của con người có lợi cho một định dạng tốt hơn. –
@LukasEder Cảm ơn bạn, tôi đã đọc blog của bạn. IIUIC, bạn nên đề xuất một số thứ như 'tháng từ năm 2000' hoặc' DATE ('2017-03-01') 'thay vì' '2017-03'' hoặc '201703' để thống kê hoạt động tốt hơn. Thật đáng tiếc là các cơ sở dữ liệu không có các kiểu tùy chỉnh với 'toString' /' fromString', vì vậy chúng ta có thể có cả khả năng đọc và tốc độ. – maaartinus