Java 使用带join的HQL的无左侧的点节点

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>

我正在尝试使用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> 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