【发布时间】:2014-12-14 08:41:14
【问题描述】:
JPA 和 Hibernate 目前都不支持 JSR-310 在 JDK8 中带来的新日期/时间类(JPA ticket,Hibernate ticket)。尽管如此,我还是想使用 JDK8 日期/时间类进行编码,因为它们最终设计得很好。特别是,我对java.time.Instant 感兴趣,而不是完全支持所有java.time.* 类型,因为我所有的实体都将使用这个特定的类(或者我现在认为,至少:-)
一个选项是编写一个type converter,如 JPA 2.1 所定义。但是,我们的应用服务器是 JBoss EAP 6.3,它与 JPA 2.0 不兼容,但不兼容 2.1,所以现在这是不可能的。
下一个选项是使用 Hibernate 用户类型(关于转换其他 JSR-310 类的博文here)。
还有更好的选择吗?谢谢。
【问题讨论】:
-
是的:使用为您定义这些休眠用户类型的库:jadira.sourceforge.net/index.html
-
我建议您接受@PryceJS 的回答,因为它描述了当前的最佳实践。
-
会的,谢谢。是的,时代变了。
标签: hibernate jpa jpa-2.0 java-8 java-time