1

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>

本当にここで立ち往生。これをどのように達成できますか?ここで何か助けていただければ幸いです。

4

0 に答える 0