2015-11-16 48 views
5

私はHibernate 5.0.3.Finalから3に移行しています。3.xでは、orad DBにLocalDateTimeを永続化するためにjoda-timeを使用しています。今、私は冬眠5がジョーダン時間をサポートしていないことを見ています。それのための最良の選択肢は何かを教えてください。3からHibernate 5への移行

ここはコードサンプルです。私は多分、私が何をしたか、あなたに適していることができ5に休止状態4から移行

import org.joda.time.DateTime; 
import org.joda.time.DateTimeZone; 
import org.joda.time.LocalDateTime; 

public class ComponentHistory { 

    @Column(name = EntityConstants.CREATED_BY_COLUMN_NAME) 
    private String createdBy; 

    @Column(name = EntityConstants.CREATED_DATE_COLUMN_NAME) 
    @Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDateTime") 
    private LocalDateTime createdDate; 

    @Column(name = EntityConstants.UPDATED_BY_COLUMN_NAME) 
    private String updatedBy; 

    @Column(name = EntityConstants.UPDATED_DATE_COLUMN_NAME) 
    @Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDateTime") 
    private LocalDateTime updatedDate; 
+0

http://www.bartkummel.net/2015/04/migrating-jodatime-to-java-time/ –

答えて

3

はすべてジョダ時間の依存関係を削除し、新しいJava日付APIにクラスを置き換える、このようなものでした。ジョダ時から

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

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime") 
private DateTime creationDate; 

あなたはそれ

<dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time-hibernate</artifactId> 
     <version>1.3</version> 
    </dependency> 

    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.3</version> 
    </dependency> 

    <dependency> 
     <groupId>org.jadira.usertype</groupId> 
     <artifactId>usertype.core</artifactId> 
     <version>3.1.0.CR8</version> 
    </dependency> 

を持っており、休止状態-java8を追加

@Type(type="org.hibernate.type.LocalDateTimeType") 
private java.time.LocalDateTime startDate; 

@Type(type="org.hibernate.type.ZonedDateTimeType") 
private java.time.ZonedDateTime creationDate; 

削除Mavenの依存関係の場合、Java 8日に

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-java8</artifactId> 
     <version>5.0.4.Final</version> 
    </dependency> 

あなたはJavaの日付時間http://blog.joda.org/2014/11/converting-from-joda-time-to-javatime.html

+0

交換にジョダ時の型を変換する方法についての詳細を見ることができますjoda.timeの@typeアノテーションはjadiraのものと比べるとはるかに侵略的ではないようです。 –

関連する問題