将列类型从bytea更改为时间戳,并在Postgres数据库中保留数据

时间:2013-11-06 17:05:55

标签: java sql hibernate hibernate-mapping hibernate-postgresql

java类中的字段如下所示:

private LocalDateTime updateTime;

然而,Hibernate将它存储在数据库中,如下所示:

(output of "select update_time from my_table;")

ac  ed  00  05  73  72  00  1b  6f  72  67  2e  6a  6f  64  61  2e  74  69  6d  65  2e  4c  6f  63  61  6c  44  61  74  65  54  69  6d  65  fc  45  53  6c  f5  a5  87  10  02  00  02  4a  00  0c  69  4c  6f  63  61  6c  4d  69  6c  6c  69  73  4c  00  0b  69  43  68  72  6f  6e  6f  6c  6f  67  79  74  00  1a  4c  6f  72  67  2f  6a  6f  64  61  2f  74  69  6d  65  2f  43  68  72  6f  6e  6f  6c  6f  67  79  3b  78  70  00  00  01  42  09  8e  35  21  73  72  00  27  6f  72  67  2e  6a  6f  64  61  2e  74  69  6d  65  2e  63  68  72  6f  6e  6f  2e  49  53  4f  43  68  72  6f  6e  6f  6c  6f  67  79  24  53  74  75  62  a9  c8  11  66  71  37  50  27  03  00  00  78  70  73  72  00  1f  6f  72  67  2e  6a  6f  64  61  2e  74  69  6d  65  2e  44  61  74  65  54  69  6d  65  5a  6f  6e  65  24  53  74  75  62  a6  2f  01  9a  7c  32  1a  e3  03  00  00  78  70  77  05  00  03  55  54  43  78  78

现在我们决定将java代码更改为:

@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
private LocalDateTime updateTime;

使数据库中的值看起来像

(output of "select update_time from my_table;")
2013-12-18 00:00:00.0

但是,数据库表在此列中已有一些值。 我们现在如何将update_time的数据类型转换为时间戳,以便正确处理现有值?

使用的数据库版本和依赖关系如下: 数据库版本:

psql --version
psql (EnterpriseDB) 9.1.6.10

hibernate的mvn依赖项:

              <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>4.0.1.Final</version>

                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>4.2.0.Final</version>

                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>4.0.1.Final</version>

                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>1.2.0.Final</version>

                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>1.0.1.Final</version>

真的卡在这里。不知道如何实现这一目标?这里的任何帮助都非常感谢。

0 个答案:

没有答案