没有左侧的DOT节点使用带有连接的HQL

Er *_*pra 2 java mysql sql hibernate

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

@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();
Run Code Online (Sandbox Code Playgroud)

模型类=

@Entity(name = "orders")
@Scope("prototype")
@Component
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class)
public class Order {

    @Id
    private long orderNumber;
private Date last_modified;
Run Code Online (Sandbox Code Playgroud)

我收到这个错误: -

引起:java.lang.IllegalStateException:没有左侧的DOT节点!

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

Gui*_* F. 7

删除您的包名称.实体仅由其名称定义.点用于表之间的属性和链接(定义为@ ManyToOne*属性时).

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
Run Code Online (Sandbox Code Playgroud)

编写HQL时,请考虑类和属性,而不是列.