繁体   English   中英

如何编写SQL查询休眠

[英]how to write the sql queries to hibernate

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() ,则会产生意外的令牌错误。

您不必使用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';

此处无需使用to_char()方法。 您可以在Dao Implementation类中简单地使用此查询。

多年:

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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM