使用nativeQuery的Spring Boot Query注释在Postgresql中不起作用

使用nativeQuery的Spring Boot Query注释在Postgresql中不起作用,第1张

使用nativeQuery的Spring Boot Query注释在Postgresql中不起作用

好的,我花了很长时间尝试为我完成这项工作,但是我终于明白了。让未来的冒险家和社区也知道这一点。

对我有用的是强制转换到AH提出的间隔:

select current_timestamp + ( 2 || ' days')::interval;

您的解决方案将是这样的(分析第二个查询时):

@Query(value = "SELECT n.* from nodes n WHERe n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\:\:interval ", nativeQuery = true)

或对于第三次查询(这正是我根据自己的情况进行工作的方式)

@Query(value = "SELECt n.* from nodes n WHERe n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\:\:interval", nativeQuery = true)

请注意转义

::
变成
\:\:
。在您要在SQL编辑器中测试的纯SQL中
::
,但是
@Query
需要转义这些强制转换符号内的存储库代码(否则,您的Hibernate
/ JPA将不满意)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存