![](/img/trans.png)
[英]Hibernate @Formula is not supporting query contains 'CAST() as int' function
[英]hibernate @Formula with CAST
以下代码段可以正常工作:
@Formula("CAST (SELECT AVG(p.\"date\") FROM prediction p) AS \"datetime\"")
@Temporal(TemporalType.DATE)
private Date avgDate;
它导致包含以下内容的查询(节选):
SELECT proc0_.ID AS ID1_10_0_,
...
proc0_.CAST
(SELECT AVG(p."date")
FROM prediction p) AS "datetime" AS formula0_0_,
...
冬眠抱怨:
... right syntax to use near 'SELECT AVG(p."date") FROM prediction p) AS "datetime" as formula0_0_'
使用@Formula("SELECT CAST (AVG(p.\\"date\\") AS \\"datetime\\") FROM prediction p")
不起作用,出现类似错误
据我了解,sql崩溃了,因为休眠以某种方式将CAST(
为一个字段,因为它在proc0_ proc0_
加了它。
关于如何解决这个问题有什么建议吗? (也许@Formula
在这里不是正确的方法?)
在CAST
之后删除空格,您就可以了:
@Formula("CAST(SELECT AVG(p.\"date\") FROM prediction p) AS \"datetime\"")
@Temporal(TemporalType.DATE)
private Date avgDate;
@Formula
Hibernate解析器非常有限。
我在表达式中缺少任何约束-当前公式将为每个实体返回相同的avgDate
。 但是我想您已经从问题中删除了这个问题以保持简单...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.