gpt4 book ai didi

java - Hibernate 将成员变量名称添加到为 secondaryTable 上的 joinColumn 生成的 SQL 中

转载 作者:太空宇宙 更新时间:2023-11-04 13:20:05 25 4
gpt4 key购买 nike

我有一个包含这些表的实体:

@Entity
@Table(name = "PM_ADJ_MULTI_YR_DETAILS")
@SecondaryTables(
{
@SecondaryTable(name = "PM_RPT_MASTER", pkJoinColumns = @PrimaryKeyJoinColumn(name = "INCTV_APP_SAK")),
@SecondaryTable(name = "PM_INCTV_APP", pkJoinColumns = @PrimaryKeyJoinColumn(name = "INCTV_APP_SAK")),
@SecondaryTable(name = "PM_ADJ_MULTI_YR", pkJoinColumns = @PrimaryKeyJoinColumn(name = "MULTI_YR_ADJ_SAK"))
}
)

在这个实体上,我有一个成员变量,如下所示:

@ManyToOne
@JoinColumn(name = "MMIS4_IND", table = "PM_ADJ_MULTI_YR")
private MultiYrAdjMmis4Ind mmis4Ind;

Hibernate 将成员变量名称添加到生成的 SQL 中,如下所示:

AND t1.MMIS4IND_MMIS4_IND = t4.MMIS4_IND(+)

这应该是:

AND t1.MMIS4_IND = t4.MMIS4_IND(+)

我们使用 javax.persistence-2.0.0.jar 和 Spring 3.0.2。

最佳答案

仅供引用:在以下位置找到了此问题的解决方案/解决方法:https://issues.apache.org/jira/browse/OPENJPA-2157?jql=text%20~%20%22joinColumn%20on%20secondarytable%22

显然这是 OpenJPA 的已知问题(我们使用的是 OpenJPA v2.0.0)。

对于解决方案/解决方法,您只需更改 persistence.xml 中指定的持久性版本(v2.0 无法处理,但 v1.0 可以)。

改变这个:http://java.sun.com/xml/ns/persistence/persistence_***2_0***.xsd">

致:http://java.sun.com/xml/ns/persistence/persistence_***1_0***.xsd">

关于java - Hibernate 将成员变量名称添加到为 secondaryTable 上的 joinColumn 生成的 SQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com