0
我正在使用eclipselink 2.5.1。與FK的EclipseLink複合PK
假設我有這兩個班級。
JAVA
@Entity
public class Car implements Serializable {
@EmbeddedId
protected CarPK carPK;
private String color;
@ManyToOne(fetch = FetchType.LAZY)
private Manufacturor manufacturor;
//constructors, getters & setters...
}
@Embeddable
public class CarPK implements Serializable {
@NotNull
private int idManufacturor;
@Temporal(javax.persistence.TemporalType.DATE)
private Date date;
//constructors, getters & setters...
}
汽車具有複合主鍵(idManufacturor和日期),並idManufacturor也是一個外鍵引用類Manufacturor。
我遇到了映射問題。 EclipseLink將製造商對象理解爲我的Car表中的一列。
錯誤
Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: invalid column name : 'manufacturor'.
我知道如果我增加一列manufacturor FK,但它會被重複的問題將得到解決。
如果我不夠清楚,請隨時索要任何精度。
謝謝你的幫助。
感謝您的幫助,我嘗試添加註釋,但出現此錯誤:異常說明:字段[CAR.IDMANUFACTUROR]存在多個可寫映射。只有一個可以被定義爲可寫,所有其他都必須被指定爲只讀。 – Knriano
將updatable = false和insertable = false添加到JoinColumn註記中。 – tak3shi
你剛剛救了我一天,謝謝:) – Knriano