2015-10-15 63 views
1

加入成員變量名稱來生成的SQL用於joinColumn我有這些表的實體:休眠上SecondaryTable

@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; 

休眠在添加成員變量名稱來生成的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。

回答

0

FYI: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「>