我有一个Postgres DB,其中有一列名为t_time
的类型为timestamp with time zone
。PostgreSQL和Hibernate:如何格式化时间戳输出?
当我使用psql
工具来查看列的内容,我得到的,例如:
select t_time from table1 where ...
t_time
---------------------
2011-02-28 14:09:25
2011-02-28 14:09:23
这就是我想要的格式。
然而,当我通过我的Java代码,它使用Hibernate运行相同的选择查询,我得到如下:
2011-02-28 14:09:25.0
2011-02-28 14:09:23.0
正如你所看到的,在最后一个点和零添加。
我的问题是 - 如何指定我想要使用的格式?
更改查询,例如像这样,
select to_char(t_time, 'YYYY-MM-DD HH24:MI:ss') as t_time from table1 where ...
是可能的,但不期望的,因为我在代码的数据查询几个地方,我不希望改变他们每个人,我希望这个定义是全系统的。
感谢您的帮助。
编辑:
我想添加一个澄清:当我写到这,我想编辑映射文件的方向。我认为可能有一种方法来定义那里的格式。这意味着只能在一个地方改变,而不是依靠任何默认格式。
谢谢。
什么是hibernate java数据类型+映射信息? – 2011-02-28 14:05:24
你很乐意改变你的postgres模式,因为你不想改变你的代码? – 2011-02-28 14:25:55
@Heiko Rupp:java数据类型是'Timestamp'。 – Dikla 2011-03-01 06:51:53