Как написать SQL запросов в спящий режим - PullRequest
0 голосов
/ 27 апреля 2018
id   name     date
1.   ask    2018-04-25 12:30:59
2.   msk    2018-04-25 12:40:43
3.   sdf    2017-05-25 12:42:34

id=int---->in java id-->int
name=varchar(25)----> in java name-->string
date=datetime------->in java date--->Timestamp

my sql query=select * from table where year(date)='2018';

o/p:1.   ask    2018-04-25 12:30:59
    2.   msk    2018-04-25 12:40:43
select * from table where month(date)='05'
o/p:3.   sdf    2017-05-25 12:42:34


please help me i dont know 
how to write this query in hibernate 

Как написать вышеупомянутые запросы в спящем режиме? Я перепробовал много вещей, но я не получил никакого решения. Если я использую to_char() в спящем режиме, это выдаст неожиданную ошибку токена.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

здесь нет необходимости использовать to_char() метод. вы можете просто использовать этот запрос в своем классе реализации Dao.

по годам:

session.createSQLQuery("select * from table where year(date) = :year")
       .setParameter("year",2018)
       .list();

по месяцам

session.createSQLQuery("select * from table where month(date) = :month")
       .setParameter("month",05)
       .list();
0 голосов
/ 27 апреля 2018

Вам не нужно использовать функцию to_char (). Hibernate поддерживает функции года и даты.

Ссылка по ссылке: https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html и посмотрите под "14.10. Выражения".

Итак, ваш hql будет выглядеть так:

select t from table t where YEAR(t.date)='2018';

and select t from table t where MONTH(t.date)='05';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...