Мне нужно преобразовать строку типа 2010-11-28 в тип даты, чтобы сохранить ее в базе данных PostgreSQL. Я попробовал этот код, но когда я проверяю результат в базе данных, обе даты равны нулю:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date validStartDate=null;
Date validEndDate=null;
try {
validStartDate = df.parse(startDate);
validEndDate = df.parse(endDate);
} catch (Exception e) {
...
}
Assigment a = new Assignment(..., validStartDate, validEndDate);
session.save(s);
-------------------------------- Edit -------------- --------------
startDate и endDate - это строки в формате гггг-мм-дд, например 2010-11-27. В трассировке стека ничего нет (конвертация вроде как-то работает). Если бы было что-то, я бы, наверное, знал, что не так. После конвертации даты сохраняются в базе данных postgres. Да, я использовал util.Date вместо sql.Date (возможно, это первая ошибка).
------------------------------- Edit2 --------------- ------------
Код упрощен, но: трассировка стека не показывает ничего странного, validStartDate и validEndDate конвертируются во что-то вроде этого, вт 30 ноября, 00:00:00 CET (поэтому не ноль). Назначение действительно правильно сохраняется в базе данных. Sql: вставить в public.assignment (тип, valid_start_date, valid_end_date, id) значения (5, NULL, NULL, 2). Я пытался использовать sql.Date, но безуспешно.
---------------------------- Назначение сопоставления -----------------
<hibernate-mapping>
<class name="model.Assignment" schema="public" table="assignment">
<id name="id" type="int">
<column name="id"/>
<generator class="increment"/>
</id>
<property name="validStartDate" type="date">
<column name="valid_start_date" length="13" />
</property>
<property name="validEndDate" type="date">
<column name="valid_end_date" length="13" />
</property>
<property name="type" type="integer">
<column name="type" />
</property>
</class>
</hibernate-mapping>
Я использую Hibernate для сохранения пользовательских данных. Строка создается виджетом JQuery Datepicker. Кто-нибудь знает, как решить эту проблему? Заранее спасибо за помощь.