我有兩張桌子,A_TABLE并且B_TABLE。在A_TABLE實(shí)體類中需要具有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)是否可以提供任何方式來(lái)提供B_TABLEEntity類而不是 直接從實(shí)體類中提供B_TABLE列?B_table我嘗試過(guò)使用實(shí)體類拋出錯(cuò)誤,-表或視圖不存在2)是否可以避免在公式中前面給出SCHEMA名稱?B_TABLE并且沒(méi)有架構(gòu)錯(cuò)誤會(huì)拋出 - 表或視圖不存在請(qǐng)幫我上面的@FormulaJPA代碼
1 回答

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