我有两张桌子,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
提交
取消