我想知道Java的哪些数据类型支持Hibernate的@Formula, 那么我有这个例子,如果有可能实现,我不知道如何管理它。
@Formula("(select boolean_column from table_a where table_a.id = id)"
+ " && "
+ "(select boolean_column from table_b where table_b.id = id)"")
private boolean result;
能帮我吗?
答案 0 :(得分:0)
JavaDoc 状态
定义一个公式(派生值),该公式是一个 SQL片段,用作 在大多数情况下都是@Column替代方法。
SQL片段表示可以集成到生成的语句中的SQL
片段。
由于Formula
管理本机SQL语句,是的,您可以放入 DBMS 甚至子查询有效且可以理解的任何内容。
据我所知,仅支持原始类型(例如,还包括String
和Date
,以及与该表的列数据类型匹配的所有其他类型)。
对于您来说,您写的SQL
片段不是有效的。
该语句的替代方法可能是
(select (t1.boolean_column and t2.boolean_column)
from table_a as t1
inner join table_b as t2 on t1.id = t2.id
where t1.id = id)