私は JPA を初めて使用し、クラス間の関係を定義することに苦労しています。Player というクラスと Game というクラスがあります。ゲームは 2 つの Player インスタンスへの参照を保持します。問題は、これをどのようにモデル化するかです。
これは私の現在のコードです:
@Entity
@Table(name = "t_player")
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public class Player {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
@Column(name = "name")
private String name;
@Basic
@Column(name = "uuid")
private final String uuid = UUID.randomUUID().toString();
これで問題ないと思いますが、私の問題は Game クラスにあります。
@Entity
@Table(name = "t_game")
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public class Game {
public Game() {
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
@Column(name = "uuid")
private final String uuid = UUID.randomUUID().toString();
@OneToOne
@PrimaryKeyJoinColumn
@JoinColumn(name = "id")
private Player player_1;
@OneToOne
@PrimaryKeyJoinColumn
@JoinColumn(name = "player_2")
private Player player_2;
public Game(Player player_1, Player player_2) {
this.player_1 = player_1;
this.player_2 = player_2;
}
}
これは機能していません。テーブル t_game には 2 つのフィールドしかありません。id と uuid。私の問題はどこですか?