Grails将Java 8域对象的LocalDateTime映射到Gorm

时间:2016-02-19 14:46:06

标签: hibernate grails java-8 persistence gorm

Java 8提供了java.time API。

我正在使用grails应用程序,我想使用java.time来获取我的域类的属性。

我需要将LocalDateTime映射到GORM上的DATE / DATETIME,它建立在Hibernate之上。

我如何坚持我的映射?

我看到了一个解决方案,我可以使用jadira,并为我的attributs建立静态映射。

然而还有另一种方式吗?

请感谢任何帮助。

2 个答案:

答案 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-timejava.time的版本。