2015-11-16 3 views
5

Я перехожу на Hibernate 5.0.3.Final из 3. В 3.x я использую joda-время для сохранения LocalDateTime в Oracle. Теперь я вижу, что спящий режим 5 не поддерживает йода-время. Пожалуйста, дайте мне знать, какая из них будет лучшей альтернативой?Миграция в спящий режим 5 из 3

Вот пример кода.

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

Я мигрировали из спящего режима 4 до 5, так, может быть, может быть подходящим для вас, что я делал, было удалить все зависимости Joda время и заменить классы на новую Java Дата Апи, как это.

От времени Joda

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

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

Для Java 8 Дата

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

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

зависимости Удалить Maven, если у вас есть

<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

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

Вы можете посмотреть более подробную информацию о том, как преобразовать тип Joda времени на Java Дата Время http://blog.joda.org/2014/11/converting-from-joda-time-to-javatime.html

+0

Замена joda.time @type аннотации с jadira кажутся намного менее инвазивными. –

Смежные вопросы