使用带内连接的HQL的Date列的MAX

时间:2015-11-27 17:40:10

标签: sql hibernate date max

我试图使用内部连接的hibernate查询语言在mySQL数据库中找到Date列的最大值

@Query("select u, CAST(MAX(o.last_modified AS DATE)) from com.dw.model.user.User as u left join com.dw.domain.order.Order as o on u.username=o.techid group by o.techid")
List<User> findUsers();

我收到此错误: -

expecting CLOSE, found 'AS' near line 1, column 36 [select u,CAST(MAX(o.last_modified AS DATE))来自com.dw.model.user.User,因为你离开加入com.dw.domain.order.Order作为o on u .username = o.techid group by o.techid]

有人可以通过告诉我如何在Hibernate中写这个来帮助我吗?

1 个答案:

答案 0 :(得分:0)

查询的几个问题。

1)表格别名u正在select。因为,你是按照o.techid分组的,我假设你需要select。如果您需要u中的某些列,请在selectgroup by这些列中明确指定。

2)CAST(MAX(o.last_modified AS DATE))应该是CAST(MAX(o.last_modified) AS DATE)

select o.techid, CAST(MAX(o.last_modified) AS DATE) 
from com.dw.model.user.User as u 
left join com.dw.domain.order.Order as o on u.username=o.techid 
group by o.techid