我有一个包含这些表格的实体:
@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。
答案 0 :(得分:0)
显然已知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“>