Java 使用带join的HQL的无左侧的点节点
我正在尝试使用hibernate查询语言和join查找mySQL数据库中日期列的最大值Java 使用带join的HQL的无左侧的点节点,java,mysql,sql,hibernate,Java,Mysql,Sql,Hibernate,我正在尝试使用hibernate查询语言和join查找mySQL数据库中日期列的最大值 @Query("select o.techid, CAST(MAX(o.last_modified) AS DATE) from com.dw.model.user.User as u left join com.dw.model.order.Order as o on u.username=o.techid group by o.techid") List<User>
@Query("select o.techid, CAST(MAX(o.last_modified) AS DATE)
from com.dw.model.user.User as u
left join com.dw.model.order.Order as o
on u.username=o.techid group by o.techid")
List<User> findUsers();
我得到这个错误:-
原因:java.lang.IllegalStateException:没有左手边的点节点
有人能告诉我如何在Hibernate中编写这个吗?删除您的包名。实体仅由其名称定义。点用于表之间的属性和链接(定义为@ManyToOne*属性时)
在编写HQL时,请考虑类和属性,而不是列。尝试以下解决方案,这应该是可行的
SELECT o.techid, CAST(MAX(o.last_modified) AS DATE)
FROM User u LEFT JOIN u.order o GROUP BY o.techid
请提供
订单
类的完整说明。具体地说,上次修改的字段是什么类型的?它是一个日期类型私有日期上次修改;
select o.techid, CAST(MAX(o.last_modified) AS DATE)
from User as u
left join Order as o
on u.username=o.techid group by o.techid
SELECT o.techid, CAST(MAX(o.last_modified) AS DATE)
FROM User u LEFT JOIN u.order o GROUP BY o.techid