5 回答

TA貢獻1818條經驗 獲得超11個贊
要消除歧義,請使用@Column
注釋:
@Column(name = "coup_id") private long coupId;
通過這種方式,您可以隨意命名 Java 屬性,而不用讓 JPA 單獨解釋它們。

TA貢獻1884條經驗 獲得超4個贊
發現問題了...抱歉。
還有另一個類Company也指的是coupId:
@OneToMany(
cascade = CascadeType.ALL,
orphanRemoval = true
)
@JoinColumn(name = "coupId")
private List<Coupon> coupons = new ArrayList();
這是來自Company班級的。

TA貢獻1895條經驗 獲得超7個贊
我有同樣的問題。
@Column(name = "coup_id") private long coupId;
和數據庫表中名為 的列coup_id
。
我刪除了@Column
注釋,然后開始工作!就這樣。
Hibernate 將 xX 轉換為 x_x 本身。

TA貢獻1864條經驗 獲得超2個贊
我遇到此問題的另一種情況是由于區分大小寫。我在兩個類中提到了列名稱 ownerid 和 ownerId。根據錯誤:表 [] 包含引用多個物理列名稱 [ownerid] 和 [owner_id] 的邏輯列名稱 [ownerid]。我最終花了很多時間搜索 owner_id。

TA貢獻1752條經驗 獲得超4個贊
我有連接表,它也是實體并且與兩個表有 ManyToOne 關系,所以這不完全是這個問題,但可以幫助某人。
將@MapsId(
屬性名稱添加)
到@ManyToOne
屬性對我有用。
添加回答
舉報