这似乎是一个常见问题,所以也许我遗漏了一些明显的东西。使用 Joda Time 我想保留带有时区的日期。如果我不使用 JPA,我会想做这样的事情来保存和检索时间戳:
create table test_dates
(
zone varchar(50),
ts_with_time_zone timestamp with time zone
);
insert into test_dates values ('UTC', '2012-08-12 12:34:56 UTC');
insert into test_dates values ('MST', '2012-08-12 05:34:56 MST');
select 'UTC in MST', ts_with_time_zone at time zone 'MST'
from test_dates where zone = 'UTC';
那么如何使用 Joda Time、JPA、EclipseLink 和 Postgres 以指定时区保存和检索这些时间戳?
我已经看到使用转换器的答案,但我不确定您将如何指定或使用时区。当然,我可以获取 UTC 时间并自己进行转换,但这违背了拥有“带时区”列的目的。这可能吗?
理想的解决方案是 EclipseLink 处理 JodaTime 类似于hibernate。