您好,我想在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这里会有什么问题呢?
谢谢你,达维德
发布于 2011-02-08 21:11:18
我认为数据库中的列类型应该是timestamp而不是date。但这可能不是您想要的,因为您存储的是出生日期。
发布于 2016-04-12 16:49:07
相当老了,但是正在寻找一些时间用法,并且已经遇到了你5岁的问题;)。
问题很明显:)系统错误堆栈跟踪告诉您:
“原因: org.hibernate.HibernateException:列date_of_birth的public.users中的列类型错误。发现:日期,预期:时间戳”
您正在尝试将Date对象放入需要TimeStamp one ->的数据库中。您的TemporalType是DATE类型,而DB希望是TIMESTAMP类型
@Column(name = "date_of_birth")
@Temporal(TemporalType.DATE)
私有日期dateOfBirth;
https://stackoverflow.com/questions/4933228
复制相似问题