Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA@Formula不带架构名称或配置实体类_Java_Jpa_Spring Data Jpa - Fatal编程技术网

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加载所需的属性

也许这些链接会有所帮助: