使用Hibernate将Oracle Date映射到Java对象

我收到消息“文字与格式字符串不匹配”。

例如,以下是Java类中的一些方法:

public String getDateTime(); public void setDateTime(String date_time); 

以下是该类的Hibernate配置文件的映射:

  

这是该列的DDL:

  CREATE TABLE "SCHEMA"."TABLE_NAME" ( "DATE_TIME" DATE, etc. ) 

我尝试将type =“date”和“timestamp”(不是同时)设置为hibernate配置中属性的attr,然后将Java类型从String更改为Date,但这给了我一个不同的错误。 我读了一些关于绑定参数的内容,但无法做出正面或反面。

当我从配置中注释掉该属性时,其他一切都正常工作,所以我确定这是我的问题。 令人讨厌的是我有另一个表/类映射,看起来是相同的Oracle Date-> Java String映射,它没有给我这个问题。

最好使用Java.util日期类作为反映oracle日期列的属性。

 Class blah{ private Date dateTime; public Date getDateTime(); public void setDateTime(Date dateTime); blah(){} } 

使用Date作为Java类属性时出现的错误是什么?

dateTime属性的类型应为Timestamp或Date,它应自动将Oracle日期/时间转换为它。 我没有看到将日期保持为字符串的意义,因为您必须涉及格式。