Отображение даты Oracle на объект Java с использованием Hibernate - PullRequest
5 голосов
/ 07 июня 2009

Я получаю сообщение "литерал не соответствует строке формата".

Например, вот некоторые методы из класса Java:

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

Вот отображение из файла конфигурации Hibernate для этого класса:

<property name="dateTime" column="date_time">

и вот DDL для этого столбца:

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

Я попытался установить type = "date" и "timestamp" (не одновременно) в качестве attr для свойства в конфигурации hibernate, а затем изменил тип Java с String на Date, но это дало мне другое ошибка. Я читал кое-что о привязке параметра, но не мог понять, как это происходит.

Когда я закомментирую это свойство из конфига, все остальное работает, так что я уверен, что это моя проблема. Раздражает то, что у меня есть другое отображение таблицы / класса с, по-видимому, тем же отображением Oracle Date-> Java String, которое не доставляет мне этой проблемы.

Ответы [ 2 ]

8 голосов
/ 07 июня 2009

Было бы лучше использовать класс даты Java.util в качестве свойства, отражающего столбец даты оракула.

Class blah{
private Date dateTime;

public Date getDateTime();
public void setDateTime(Date dateTime);

blah(){}

}

В чем заключалась ошибка при использовании Date в качестве свойства класса Java?

2 голосов
/ 07 июня 2009

Тип вашего атрибута dateTime должен быть Timestamp или Date, который должен автоматически преобразовывать дату / время Oracle в него. Я не вижу смысла сохранять дату как строку, так как вы должны использовать форматирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...