由两个外键组成的映射主键?休眠

问题描述:

我有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; 
    } 


} 
+0

问题解决了,比你的男人! – user3781233 2014-10-28 16:56:53

+0

不客气。请标记为已回答。 – jitsonfire 2014-10-28 17:06:46