JPA-объект: получить часы, минуты и секунды из столбца Oracle DATE - PullRequest
4 голосов
/ 14 июня 2011

У меня проблемы с получением полной информации DATE из моей базы данных Oracle (дд / мм / гггг чч / мм / сс).

На уровне дБ, в столбце, который я хочу получить, я устанавливаю тестовые значения:

update my_table
set my_date_column=(to_date('2011-06-15 15:43:12', 'yyyy-mm-dd hh24:mi:ss'));

но в моей сущности JPA у меня есть:

@Column(name = "MY_DATE_COLUMN")
@Temporal(TemporalType.DATE)
private Date dateDetailed;


public Date getDateDetailed() {
    if (this.dateDetailed!= null) {
        return this.dateDetailed;
    }
    return null;
}

public void setDateDetailed(Date dateDetailed) {
    if (dateDetailed!= null) {
        this.dateDetailed= dateDetailed;
    } else {
        this.dateDetailed= null;
    }
}

Каждый раз, когда я получаю доступ к своему объекту, он дает мне дату без часов, минут и секунд.

Я пытался использовать TemporalType.TIMESTAMP, но в этом случае мне нужно было бы также изменить тип столбца в db (чего я хочу избежать).

Есть предложения?

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Это TemporalType.DATE Вам понадобится TIME или TIMESTAMP.ДАТА - это только дата без времени.TIMESTAMP представляется в виде числа.

2 голосов
/ 07 января 2014

Используя временный тип TIMESTAMP, вы получите дату и часть времени типа данных java, но Oracle создаст столбец с типом данных TIMESTAMP.Чтобы обойти эту проблему, если вам нужен тип данных DATE, вы можете использовать параметр columnDefinition аннотации столбца, например:

@Column(name = "MY_DATE_COLUMN", columnDefinition = "DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date dateDetailed;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...