为了账号安全,请及时绑定邮箱和手机立即绑定

JPA @Formula 没有架构名称或使用实体类进行配置

JPA @Formula 没有架构名称或使用实体类进行配置

大话西游666 2024-01-17 20:56:53
我有两张桌子,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 加载所需的属性。

查看完整回答
反对 回复 2024-01-17
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信