У меня есть объект в пределах этого объекта у меня есть 2 атрибута:
dateStart - должен содержать только гггг-ММ-дд
timeStart - должен содержать только время ЧЧ: мм
Hibernate работы с датой и временем - PostgreSql
Я использую базу данных postgreSQL. Моя таблица определяется следующим образом:
CREATE TABLE xxx
(
dateStart date,
timeStart time without time zone
)
Я сопоставляются эту таблицу в Java, используя спящий режим, как это (дата является тип java.util.Date я хотел бы придерживаться, что, если это возможно):
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date dateStart;
@Temporal(TemporalType.TIME)
@DateTimeFormat(pattern = "HH:mm")
private Date dateTime;
Я также использую весну. У меня есть форма, где пользователь может заполнить ввод, который на самом деле создать этот объект
<form:form method="post" class="form-horizontal" action="..." commandName="xxx">
<form:input path="dateStart" type="date"/>
<form:input path="timeStart" type="time"/>
.....
<submit button>
</form:form>
Это мой контроллер, где я на самом деле создать свой объект (если пользователь отправить форму)
@RequestMapping(value = "/viewSpecificTests", method = RequestMethod.POST)
public String viewSpecificTests(Model model, @Valid XXX xxx, BindingResult result) {
if (result.hasErrors()) {
return "createSpecificTest";
}
xxxService.createTable(xxx);
return "viewSpecificTests";
}
Однако, когда я печатаю свою сущность xxx.toString(). Мои даты и время не сохраняются правильно. dateStart выглядеть следующим образом: вт 5 апреля 00:00:00 CEST 2016
DATETIME выглядеть следующим образом: Чт Янв 01 12:30:00 CET 1970
Как я могу сказать, спящий режим сохранится только дата/время только ? Я застрял в этой проблеме так долго по какой-то причине @Temporal не работает для меня так, как я хотел.
Вы проверили базу данных, как хранятся поля даты? Существует разница между значениями, хранящимися в базе данных, и представлением объекта объекта даты. – Dimitri
Да, вы абсолютно правы. Теперь все имеет смысл. благодаря –