在Hibernate @Formula中使用DATE_ADD

时间:2015-10-19 09:32:38

标签: java mysql hibernate

我正在尝试在Hibernate公式中使用DATE_ADD(Mysql)函数。

这是我的领域:

@Formula(value = "(SELECT DATE_ADD(v.dataAndata, INTERVAL v.minutiTrasportoAndata MINUTE) FROM VenditaB2B v WHERE v.id = id)")
private Date dataImbarco;

不幸的是,当Hibernate执行查询时,它会将查询转换为:

(SELECT DATE_ADD(v.dataAndata, venditab2b0_.INTERVAL v.minutiTrasportoAndata venditab2b0_.MINUTE) FROM VenditaB2B v WHERE v.id = venditab2b0_.id) as formula5_

当然这是错误的,因为它认为MINUTE和INTERVAL是我的表VenditaB2B的列。 我试着用单引号和双引号没有运气。

有办法解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

Hibernate不支持MySQL的DATE_ADD语法。所以你必须使用原生查询

参考:https://forum.hibernate.org/viewtopic.php?f=1&t=982311&view=next