Java JPA@Formula不带架构名称或配置实体类
我有两张表,Java JPA@Formula不带架构名称或配置实体类,java,jpa,spring-data-jpa,Java,Jpa,Spring Data Jpa,我有两张表,A_表和B_表。在A_表实体类中,需要对具有B_表列组合的公式进行修改,如下代码所示: 工作代码: 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.
A_表
和B_表
。在A_表
实体类中,需要对具有B_表
列组合的公式进行修改,如下代码所示:
工作代码:
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;
}
需要公式中的解决方案:
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_表实体
类,而不是直接指定B_表
和B_表
实体类中的列
我已经尝试过实体类的抛出错误,-表或视图不存在
2) 是否可以避免在公式中前面的B_表中给出SCHEMA
名称
如果没有架构错误,则抛出-表或视图不存在
请在上面帮助我@Formula
JPA code你一定要看看这里:
根据描述的注释,@Formula只接受本机sql,本文警告您在某些情况下不要耦合到特定的数据库
您应该知道@Formula注释采用本机SQL
可能影响数据库可移植性的子句
因为@Formula需要本机SQL,所以应该始终包含schema。我认为有些数据库有默认模式,不需要显式定义
对于一些高级操作,我可能会提供一些注释,如@PostLoad,并使用好的旧entitymanager或DirectJDBC加载所需的属性
也许这些链接会有所帮助: