@Temporal(TemporalType.DATE)出现问题

时间:2011-02-08 12:50:47

标签: hibernate postgresql date jpa-2.0

您好我想在我的Java类中映射一个字段

@Column(name = "date_of_birth")
@Temporal(TemporalType.DATE)
private Date dateOfBirth;

到我桌子上的一个字段:

date_of_birth date,

但是现在当我尝试运行我的应用程序时,我得到了一个例外:

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

这是我的配置文件:

dataSource.driverClassName=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.hbm2ddl.auto=validate
hibernate.show_sql=false

这里有什么问题?

由于 的Dawid

2 个答案:

答案 0 :(得分:1)

我认为数据库中的列类型必须是timestamp而不是date。但这可能不是你想要的,因为你正在存储出生日期。

答案 1 :(得分:-1)

相当古老,但是正在寻找@Temporal的一些用法并且已经满足了你5岁的问题;)。

问题很明显:)系统错误堆栈跟踪告诉你:

  

"引起:org.hibernate.HibernateException:错误的列类型   date.users用于列date_of_birth。发现:日期,预计:   时间戳"

您正在尝试将Date对象放入需要TimeStamp的DB中 - >你的TemporalType是DATE类型,DB期望是TIMESTAMP

  

@Column(name =" date_of_birth")

     

@Temporal(TemporalType.DATE)

     

私人日期dateOfBirth;