在grails / groovy域类中为TimeDuration更正Hibernate类型?

时间:2011-10-17 14:16:16

标签: hibernate grails groovy mapping

在我的一个Grails / Groovy类中使用TimeDuration我在启动grails应用程序时遇到异常。

org.hibernate.MappingException: Could not determine type for: groovy.time.TimeDuration

在域类中使用

import groovy.time.TimeDuration
class Result {
    TimeDuration overall
}

我应该定义哪种类型?

3 个答案:

答案 0 :(得分:3)

由于您使用的是Grails,因此使用Joda Time plugin及其Duration类型来存储您的值可能会更方便。

插件安装后,为许多库类型(包括Duration)提供了Hibernate映射。

如果你继续使用Groovy的TimeDuration,你可能需要编写自己的UserType;经过几次搜索,我没有找到。

答案 1 :(得分:0)

尝试使用Date。这将使用db中日期类型的默认“timestamp”。 (可选)您可以通过hbm文件/注释为Date字段专门配置其他格式的hibernate。

答案 2 :(得分:0)

import groovy.time.TimeDuration

class Result {
    Date overall
}

您可以使用此日期类型存储日期和时间,此日期和时间将通过休眠映射到时间戳..