我有一个Grails 2.5.3应用程序,它连接到PostgreSQL数据库,我想在数据库中存储一个java
根据PostgreSQL文档,默认的时间戳类型不包含时区信息,因此您需要使用
不幸的是,当我尝试在域类的
有一些文章讨论了为此创建自定义Hibernate
Date
或Calendar
对象,并包括时区信息。根据PostgreSQL文档,默认的时间戳类型不包含时区信息,因此您需要使用
timestamptz
类型来包含时区信息。不幸的是,当我尝试在域类的
mapping
闭包中设置这个时,它会失败。我尝试使用以下代码:
createdDate type: 'timestamptz'
我收到的错误是:
nested exception is org.hibernate.MappingException: Could not determine type for: timestamptz
不幸的是,与日期相关的Hibernate类型列表似乎没有包含任何可以映射此值的内容。与日期相关的类型有:date
、time
、timestamp
、calendar
和calendar-date
。我已经测试了每个类型,但没有一个能在Postgres中创建所需的timestamp with time zone
。有一些文章讨论了为此创建自定义Hibernate
UserType
,但似乎这应该是一个相当常见的用例,我不能不想到有什么可以让我直接使用的东西。