我有兩張桌子,A_TABLE并且B_TABLE。在A_TABLE實體類中需要具有B_TABLE列組合的公式,如下代碼所示,工作代碼:A_TABLEEntity { @Column("BM_NAME_I") private String bmdName; @Formula("(select b.LAST_NAME || ', '||b.FIRST_NAME||' ('||b.BM_NAME||')' from BR_SCHEMA.B_TABLE b where UPPER(b.BM_NAME)=UPPER(BM_NAME_I))") private string nameCombinationB;}需要公式中的解決方案:1)是否可以提供任何方式來提供B_TABLEEntity類而不是 直接從實體類中提供B_TABLE列?B_table我嘗試過使用實體類拋出錯誤,-表或視圖不存在2)是否可以避免在公式中前面給出SCHEMA名稱?B_TABLE并且沒有架構錯誤會拋出 - 表或視圖不存在請幫我上面的@FormulaJPA代碼
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
@Formula 僅采用本機 sql,并且文章警告您在某些情況下與特定數據庫的耦合。
您應該注意 @Formula 注釋采用本機 SQL 子句,這可能會影響數據庫的可移植性。
由于 @Formula 需要本機 SQL,因此您應始終包含架構。我認為某些數據庫具有不需要顯式定義的默認模式。
對于一些高級操作,我可能會提供一些注釋,例如 @PostLoad 并使用舊的實體管理器或直接 jdbc 加載所需的屬性。
添加回答
舉報
0/150
提交
取消