由两个外键组成的映射主键?休眠
问题描述:
我有3类Player(PK Id_player),Match(PK Id_match)和铭文(PK应该是Id_player和Id_match)。一个玩家有一个和唯一一个铭文(单人游戏 - > 1个铭文),并且一个游戏可以有许多铭文(1场比赛 - >许多比赛)。所以表格铭文有两个外键:Id_player和Id_match,问题是我不知道如何告诉休眠,这两个外键都必须是构成铭文表的组合主键。这是我的代码::由两个外键组成的映射主键?休眠
@Entity
@Table(name = "Players")
public class Player{
@Id @GeneratedValue
private Long Id_player;
@OneToOne
@JoinColumn(name = "payer_id")
Inscription Inscription;}
@Entity
@Table(name="Matches")
public class Match{
@Id @GeneratedValue
private long Id_match;
@OneToMany
@JoinColumn(name = "id_match")
List<Inscription> inscriptions= new ArrayList<>();
我应该在题字课上写什么,以使两个FK的组成PK。由于
答
检查:
球员
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "Players")
public class Player {
@Id
@GeneratedValue
private Long Id_player;
@OneToOne
private Match match;
}
比赛
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="Matches")
public class Match{
@Id @GeneratedValue
private long Id_match;
@OneToMany
@JoinTable(name="Inscription",
[email protected](name="MATCH_ID"),
[email protected](name="PLAYER_ID"))
private List<Player> playersList;
public long getId_match() {
return Id_match;
}
public void setId_match(long id_match) {
Id_match = id_match;
}
public List<Player> getPlayersList() {
return playersList;
}
public void setPlayersList(List<Player> playersList) {
this.playersList = playersList;
}
}
问题解决了,比你的男人! – user3781233 2014-10-28 16:56:53
不客气。请标记为已回答。 – jitsonfire 2014-10-28 17:06:46