我有以下模型:
(...)
@IdClass(BetID.class) //Primary Key, composite = userID gameID
public class Bet {
(...)
//Primary Key
@ManyToOne
@Id
private User user; //Composite key:userID
@ManyToOne
@Id
private Game game; //Composite key:gameID
其中,當然,有以下復合鍵:
public class BetID implements Serializable {
@OneToOne
private User user;
@OneToOne
private Game game;
在這里,User 和 Game 是外鍵,也是物體。問題是當我嘗試處理時,所以我不能像擁有普通鍵一樣簡單地設定/獲取鍵:
@EmbeddedId BetID bet id因為 id 必須參考 Bet 的 2 個屬性。所以使用@Getter 和@Setter(帶有lombok)是不可能的。那么,我該如何處理呢?甚至有可能擁有這樣的鑰匙嗎?
uj5u.com熱心網友回復:
您可以添加帶有兩個引數的 setter:
public void setBetID(User user, Game game) {
this.betId = new BetID(user, game);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/497851.html
上一篇:嘗試使用JPA時獲取“java.lang.reflect.InaccessibleObjectException:無法使欄位私有int(變數)(包)可訪問”
下一篇:已棄用:休眠setHint
