我有代码:
@Id
@Column(name = "id")
@GeneratedValue
private int id;
@Formula(value = "(SELECT count(history.city_id) FROM history where history.ts > (now() - INTERVAL 30 DAY) and history.city_id = id)")
private int last30daysUpdates;
因此,hiberante 将此公式解析为:
...where
history.ts > (
now() - entitycity0_.INTERVAL 30 entitycity0_.DAY
) ...
错误是:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '30 entitycity0_.DAY 附近使用的正确语法)
我怎么能说 INTERVAL 和 DAY 是 Mysql 的函数?可能吗?
谢谢。