2016-05-27 5 views
0

У меня есть следующие поля в моем Entity классе:Использование LocalDateTime с @version аннотацию в JPA

@Version 
@Column(name = "updated") 
private LocalDateTime lastUpdated; 

@Column(name = "created") 
private LocalDateTime created; 

Поле created работает отлично, потому что я осуществил AttributeConverter от LocalDateTime до Timestamp.

lastUpdated поля дает следующее сообщение об ошибке при развертывании контейнера:

java.lang.ClassCastException: org.hibernate.type.descriptor.converter.AttributeConverterTypeAdapter cannot be cast to org.hibernate.type.VersionType 

Я знаю, что это может быть решено с помощью Timestamp в качестве переменного типа lastUpdated вместо LocalDateTime.

Я хочу знать, могу ли я переопределить поведение аннотации @Version, чтобы принять LocalDateTime как тип переменной.

+0

Я не думаю, что мы можем использовать аннотацию версии для LocalDateTime. Поддерживаемый тип данных для поля версии аннотации: int, Integer, short, Short, long, Long, java.sql.Timestamp. – sauumum

+0

Да, я знаю. Вопрос в том, является ли это поведение аннотации '@ Version' чрезмерным, поэтому оно будет принимать« LocalDateTime ». –

+0

Вы пробовали с зависимостью 'hibernate-java8'? Ниже из hibernate doc 'Поддержка использования конкретных типов данных Java8, таких как любой тип даты/времени JSR 310 в модели домена – Saravana

ответ

1

Попробуйте hibernate-java8 зависимость, которая должна поддерживать java 8 конкретных типов данных.

<!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-java8 --> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-java8</artifactId> 
    <version>5.1.0.Final</version> 
</dependency> 

Ниже от спящего сайта

поддержки для использования Java8 конкретных типов данных, таких, как любой из JSR 310 Даты/Время типов в модели предметной области.

VersionType<Instant> добавляется как часть этого, так что вы могли бы использовать это для вашего требования

UPDATE 1

Checked Версия аннотацию LocalDateTime с hibernate-java8 зависимости от H2 DB, она работала

+0

Обновленный ответ с результатом теста – Saravana

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