Hibernate Grails将Java8域对象的LocalDateTime映射到Gorm

Hibernate Grails将Java8域对象的LocalDateTime映射到Gorm,hibernate,grails,java-8,persistence,gorm,Hibernate,Grails,Java 8,Persistence,Gorm,Java8提供了Java.time API 我正在使用一个grails应用程序,我想使用java.time作为我的域类的属性 例如,我需要将LocalDateTime映射到构建在Hibernate之上的GORM上的日期/日期时间 如何持久化映射 我看到了一个解决方案,我可以使用jadira,为属性建立静态映射 然而,还有别的办法吗 非常感谢您的帮助。我没有使用gorm,但如果我们只使用hibernate(我想它应该是适用的),您将能够遵循两条路径 第一,如果您正在使用或能够升级到hibernat

Java8提供了Java.time API

我正在使用一个grails应用程序,我想使用java.time作为我的域类的属性

例如,我需要将LocalDateTime映射到构建在Hibernate之上的GORM上的日期/日期时间

如何持久化映射

我看到了一个解决方案,我可以使用jadira,为属性建立静态映射

然而,还有别的办法吗


非常感谢您的帮助。

我没有使用gorm,但如果我们只使用hibernate(我想它应该是适用的),您将能够遵循两条路径

第一,如果您正在使用或能够升级到hibernate 5,那么可以包括

支持使用Java8特定的数据类型,如任何JSR310 域模型中的日期/时间类型

否则,您必须按照说明编写自己的类型,并使用它,例如

@Type(type="your.custom.LocalDateTimeUserType")
private LocalDateTime date;

最后,
gorm
正在实现
JPA
规范,您可以实现一个我没有使用gorm,但是如果我们只说hibernate(我想它应该是适用的),您将能够遵循两条路径

第一,如果您正在使用或能够升级到hibernate 5,那么可以包括

支持使用Java8特定的数据类型,如任何JSR310 域模型中的日期/时间类型

否则,您必须按照说明编写自己的类型,并使用它,例如

@Type(type="your.custom.LocalDateTimeUserType")
private LocalDateTime date;

最后,
gorm
正在实现
JPA
规范,您可以实现您可以使用
用户类型
映射。看见这样就不需要单独显式映射所有实例


更进一步,我将使用
grailsjodatime
插件源代码,并尝试制作
jave.time
版本。甚至尝试制作(并提交一个pull请求)一个同时支持
joda-time
java.time
的版本,您可以使用
用户类型
映射。看见这样就不需要单独显式映射所有实例


更进一步,我将使用
grailsjodatime
插件源代码,并尝试制作
jave.time
版本。甚至尝试制作(并提交拉取请求)一个同时支持
joda time
java.time

的版本。我在grails 3.0.10上使用groovy,所以我不确定是否可以将Hibernate更新为5,或者我错了?第二种方法是,通过Hibernate实现域对象到sql对象之间的实际映射,不是通过戈姆。我将尝试看看它是否适用——您可以在Grails3.0.10上使用Hibernate5。您必须升级到GORM 5,然后为实现选择Hibernate 5。有关更多信息,请参阅我在grails 3.0.10上使用groovy,因此我不确定是否可以将Hibernate更新为5,或者我错了?对于您建议的第二种方法,它是通过Hibernate,而不是通过Gorm,在域对象到sql对象之间的实际映射。我将尝试看看它是否适用——您可以在Grails3.0.10上使用Hibernate5。您必须升级到GORM 5,然后为实现选择Hibernate 5。有关更多信息,请参阅