получение одного значения даты из таблицы с использованием Hibernate - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь выполнить проверку работоспособности базы данных db2, поэтому я написал:

Session session = _sessionFactory.openSession();

try{
    return session.createNativeQuery("SELECT CURRENT DATE from sysibm.sysdummy1", Date.class)
                            .stream().findFirst().orElse(null);
}
catch (Exception e){
    session.close();
    throw e;
}

Где Date имеет тип java.sql.Date. Я даже пытался добавить этот узел в hibernate.cfg.xml файл:

<mapping class="java.sql.Date"/>

Сам запрос отлично работает и возвращает «столбец», помеченный как «1» с одной строкой с датой в формате гггг-ММ-дд. Однако, когда я выполняю код, я получаю ошибку:

org.hibernate.MappingException: Неизвестная сущность: java. sql .Date

Я что-то пропустил?

1 Ответ

0 голосов
/ 11 февраля 2020

ОТВЕТ: То, что я сделал, настолько ужасно, что я хотел, чтобы это не сработало, но это работает. Я создал класс:

@Entity
@Table
public class SingleDate {
    @Id
    private int id;
    private Date date;

    @Basic
    @Column(name = "DATE")
    public Date getDate() {
        return date;
    }
}

и выполнил:

    return session.createNativeQuery("SELECT 1 as ID, CURRENT DATE as DATE from sysibm.sysdummy1", SingleDate.class)
        .stream().findFirst().map(x -> x.getDate().toString()).orElse(null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...