Java 8提供了java.time API。
我正在使用grails应用程序,我想使用java.time来获取我的域类的属性。
我需要将LocalDateTime映射到GORM上的DATE / DATETIME,它建立在Hibernate之上。
我如何坚持我的映射?
我看到了一个解决方案,我可以使用jadira,并为我的attributs建立静态映射。
然而还有另一种方式吗?
请感谢任何帮助。
答案 0 :(得分:0)
我还没有使用gorm,但是如果我们只是说hibernate(我想它应该适用),你就可以遵循两条道路。
一,如果您正在使用或者您可以升级到休眠5,那么可以包括hibernate-java8
支持使用Java8特定数据类型,例如任何JSR 310 域模型中的日期/时间类型。
否则,您必须按照here的说明编写自己的类型,并使用它,例如像
ScriptManager.AsyncPostBackTimeout
最后,@Type(type="your.custom.LocalDateTimeUserType")
private LocalDateTime date;
正在实施gorm
规范,您可以实施converter
答案 1 :(得分:0)
您可以使用user type
映射。见the docs。这应该消除了单独显式映射所有实例的需要。
为了更进一步,我会使用grails-joda-time
插件来源并尝试制作jave.time
版本。甚至尝试制作(并提交拉取请求)一个支持joda-time
和java.time
的版本。