Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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@JoinColumn自定义对象类型_Java_Jpa_Named Query - Fatal编程技术网

Java JPA@JoinColumn自定义对象类型

Java JPA@JoinColumn自定义对象类型,java,jpa,named-query,Java,Jpa,Named Query,我正在研究一个使用JPA的项目,这是我的新手。我遇到了一个我不太理解的逻辑。我有一个名为A的实体,它有以下字段/列: @Column(name = "COD_UOP_COO") private String codUopCoo; 那么我在同一个实体中: @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "COD_UOP_COO", referencedColumnName = "COD_UOP") @B

我正在研究一个使用JPA的项目,这是我的新手。我遇到了一个我不太理解的逻辑。我有一个名为
A
的实体,它有以下字段/列:

@Column(name = "COD_UOP_COO")
    private String codUopCoo;
那么我在同一个实体中:

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "COD_UOP_COO", referencedColumnName = "COD_UOP")
    @BatchFetch(value = BatchFetchType.JOIN)
    private B b;
据我所知,这意味着
b
字段是通过在
JoinColumn
注释中指定的字段上连接表
A
b
来检索的,对吗?但是在这种情况下联接是如何工作的呢?JPA正在检索join子句右侧的实体吗?
然后我有一个命名查询:

"select a from A a where (a.b.bfield = :parameter)"

这是什么意思?为什么他们要检查实体
B
字段的相等性?在我的表
A
中,我没有任何列是带
B
的外键。而
b
字段不是表
a
中的一列。那么我要检查
A
的哪个列的值?我缺少与数据库结构的链接。

JPQL查询被转换为SQL查询

此查询返回一个对象,其中A.COD\u UOP\u COO=B.COD\u UOP和B.bfield=parameter。更改B类中元素的数据库列名的bfield

您可以看到nateive查询将以下参数添加到persistence.xml:

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>

将JPQL查询转换为SQL查询

此查询返回一个对象,其中A.COD\u UOP\u COO=B.COD\u UOP和B.bfield=parameter。更改B类中元素的数据库列名的bfield

您可以看到nateive查询将以下参数添加到persistence.xml:

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>


你好,谢谢。有解释翻译规则的指南吗?嗨,谢谢。有没有解释翻译规则的指南?