我正在尝试使用Hibernate @Formula将一些计算信息导入到我的一个Entity类中。这是代码:
@Formula("(select max(site_visits.`date`) from site_visits where site_visits.siteId = id)")
@Temporal(TemporalType.TIMESTAMP)
private Date lastSiteVisit;
我手动尝试过查询,但效果很好。问题是,当我请求对象时,SQL hibernate生成变得严重:它坚持将自己的表引用插入到我的列引用表达式的中间,所以我得到以下SQL错误:
Unknown column 'site_visits.site0_.date' in 'field list'
知道如何解决这个问题吗?
答案 0 :(得分:1)
使用别名
@Formula("(select max(sv.date) from site_visits sv where sv.siteId = id)")
也不要在查询中使用`