Joda-Time Hibernate PersistentYearMonthDay已弃用

时间:2011-11-29 08:09:42

标签: hibernate jodatime

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

作为使用DATE(并且看到Joda Hibernate不是)的人,我想知道是否有一些原因我应该切换到VARCHAR和PersistentLocalTimeAsString。 IE浏览器。是什么促使人们决定弃用PersistentYearMonthDay?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

它不是在1970年开始,它是一个零点,但它可能是负面的。不推荐使用PersistentYearMonthDay的原因是YearMonthDay的弃用率。被动机为“使用LocalDate,它具有更好的内部实现,并且自1.3以来一直可用

另外,这很奇怪,但PersistentLocalDate的the source codeDATE sql类型,而用户指南说TIMESTAMP,请尝试一下,也许只是用户指南中的拼写错误。< / p>