Joda Time Hibernate PersistentYearMonthDay已弃用

Joda Time Hibernate PersistentYearMonthDay已弃用,hibernate,jodatime,Hibernate,Jodatime,在查看Joda Time Hibernate时,似乎未来不支持SQL日期类型。由于时间戳指定从1970年1月1日开始-1970年之前的日期的唯一安全传输似乎是带有PersistentLocalTimeAsString的VARCHAR(如果希望将自己限制在Joda Hibernate库中) 作为一个使用DATE的人(看到Joda Hibernate没有),我想知道是否有什么理由我应该切换到VARCHAR和PersistentLocalTimeAsString。是什么促使我们决定反对Persiste

在查看Joda Time Hibernate时,似乎未来不支持SQL日期类型。由于时间戳指定从1970年1月1日开始-1970年之前的日期的唯一安全传输似乎是带有PersistentLocalTimeAsString的VARCHAR(如果希望将自己限制在Joda Hibernate库中)

作为一个使用DATE的人(看到Joda Hibernate没有),我想知道是否有什么理由我应该切换到VARCHAR和PersistentLocalTimeAsString。是什么促使我们决定反对PersistentYearMonthDay

long someTimeBefore1970 = -83688769L;
Timestamp ts = new Timestamp(someTimeBefore1970);
System.out.println(ts);

0设置为1970年1月1日,但这并不意味着之前的日期不受支持

它不是从1970年开始的,它是一个零点,但它可能是负值。
PersistentYearMonthDay
不推荐使用的原因是不推荐使用。动机是“使用LocalDate,它具有更好的内部实现,并且从1.3开始就可用”


还有,这很奇怪,但是对于PersistentLocalDate有
DATE
sql类型,而用户指南上说的是
TIMESTAMP
,试试看,可能只是用户指南中的一个输入错误。

谢谢,我没有检查源代码。令人惊讶的是,支持sql日期:-)有趣的是,我一直认为时间戳是无符号整数。这一点很好。奇怪的是,MySQL文档将时间戳的“范围”设置为“1970-01-01 00:00:01”UTC到“2038-01-19 03:14:07”。