我可能只是誤解了@JoinColumns的工作方式,但在重新使用name屬性時出現錯誤。但是名稱屬性沒有映射到數據庫列?我不應該重複使用它嗎?@JoinColumns - 實體映射中的重複列
有錯誤我越來越:
Repeated column in mapping for entity: data.model.DP column: division
代碼:
@Column(name = "division", nullable = false)
private String division;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumns({
@JoinColumn(name = "division_labeldefintion", referencedColumnName = "labeldefinition"),
@JoinColumn(name = "division", referencedColumnName = "abbr")
})
private LabelFile divisionLabel;
我試圖做的是做多列從一個表連接(包含division
列,並與LabelFile
表一起加入
不會切換它們會改變我從哪個表中抓取? 我想要一個「分區」列,並在我的連接中使用「分區」,並使用它來匹配LabelFile中的「abbr」。 – Johannes
它會的,這就是要點。你現在編寫它的方式JPA/Hibernate試圖創建兩個名爲「division」的列;一個用於純文本字段,與任何關聯無關;第二個被用作組合鍵的一部分。 LabelFile屬性上面的註釋正在當前實體/表內創建新的字段/列。 注意:儘量不要以列和表格的形式思考,JPA和ORM在那裏隱藏數據庫,讓你使用對象來代替。 免責聲明:我在沒有編寫任何代碼的情況下輸入此代碼,因此可能是我忽略了某些內容。希望不是。 –