簡體   English   中英

可以在布爾字段上使用@Formula嗎?

[英]Is possible to use @Formula on a boolean field?

我試圖知道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;

請你幫助我好嗎?

JavaDoc狀態

定義一個公式(派生值),該公式是一個SQL片段 ,在大多數情況下可以用作@Column替代項。

SQL片段表示可以集成到生成的語句中的一段SQL
由於Formula管理本機SQL語句,是的,您可以輸入DBMS甚至子查詢有效且可以理解的任何內容。

據我所知,僅支持primivite類型(例如,還包括StringDate ,以及與表的列數據類型匹配的所有其他類型)。


在你的情況下, 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM