是否可以在 @Formula 上使用表达式逻辑,它有一个布尔字段来比较日期?

Is possible to use an expression logic on @Formula which has a boolean field to compare dates?

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

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

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

2019-03-03 05:29:57.568 ERROR [service_a,4fedd46e4085e86f,4fedd46e4085e86f,false] 608 --- [nio-8090-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: schema "table_a0_" does not exist Position: 5560

2019-03-03 05:29:57.581 INFO [service_a,4fedd46e4085e86f,4fedd46e4085e86f,false] 608 --- [nio-8090-exec-1] o.h.e.internal.DefaultLoadEventListener : HHH000327: Error performing load command :

我的 sql 表达有什么问题?

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

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

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

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