我想知道下面的示例是否适用于@Formula的休眠模式,也许有人可以帮助解决其他方法,以使用sql或查询。

@Formula("SELECT( NOW() > column_date - interval '1 minute' * column_a )")
private Boolean columnA;


当我执行该示例时,出现以下错误:


  2019-03-03 05:29:57.568错误[service_a,4fedd46e4085e86f,4fedd46e4085e86f,false] 608 --- [nio-8090-exec-1] ohengine.jdbc.spi.SqlExceptionHelper:错误:模式“ table_a0_”不存在存在位置:5560
  
  2019-03-03 05:29:57.581信息[service_a,4fedd46e4085e86f,4fedd46e4085e86f,false] 608 --- [nio-8090-exec-1] o.h.e.internal.DefaultLoadEventListener:HHH000327:执行加载命令时出错:


我的sql表达式有什么问题?

最佳答案

@Formula中应该有一个适当的SQL查询,例如:

@Formula("select NOW() > ( column_date + interval '1 minute' * column_a ) from some_table")


当然,假设您的dbms读取此语法。 some_table是一个表,其中column_datecolumn_a是。

最简单的方法是对数据库运行SQL查询,并在成功后将其插入@Formula

关于java - 是否可以在@Formula上使用具有 boolean 字段以比较日期的表达式逻辑?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54965890/

10-11 02:45