2016-02-29 3 views
0

У меня есть некоторые проблемы с JPA @Temporal (TemporalType.DATE) аннотация, во время развертывания приложений. Итак, я создал данные весны + postgres 9.5 + hibernate 4.3.10 приложение и настроено hbm2ddl.auto до 'validate'.postgresql jpa hibernate исключение: Найдено: дата, ожидается: отметка времени

hibernate.hbm2ddl.auto = validate 

Вот Entity:

@Entity 
@Table(name = "locomotive") 
public class LocomotiveEntity { 

    private Long locomotiveId; 
    @Column(name = "status") 
    private int status; 
    @Temporal(TemporalType.DATE) 
    private java.util.Date constructionYear; 
... 

Также я создал локомотив таблицы с помощью этого скрипта:

CREATE TABLE "locomotive" 
(
    "locomotiveId" bigserial PRIMARY KEY, 
    "status" integer NOT NULL, 
    "constructionYear" DATE NOT NULL 
); 

Но я вижу исключение во demployment:

Caused by: org.hibernate.HibernateException: Wrong 
column type in public.constructionYear for column constructionYear. 
Found: date, expected: timestamp 

Итак, у меня есть столбец типа «DATE» в моем db и тип «DATE». Что я сделал не так?

+0

Если вы посмотрите на [документации PostgreSQL] (http://www.postgresql.org/docs/current/static/datatype-datetime.html), вы видите, что тип даты не включает время суток. Вы должны использовать по крайней мере 'timestamp'. – fge

ответ

0

Попробуйте использовать TemporalType.TIMESTAMP так:

@Temporal(TemporalType.TIMESTAMP) 
private Date constructionYear; 
Смежные вопросы