[英]JPA modelling, one-to-one relation?
我是JPA的新手,正在努力定義班級之間的關系。 我有一個叫做Player的課程和一個叫做Game的課程。 一個游戲包含對兩個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只有兩個字段; id和uuid。 我的問題在哪里?
刪除PrimaryKeyJoinColumn注釋,因為我認為這不是您要使用的注釋,因為它與joincolumn定義沖突。 改用joincolumn批注定義外鍵字段名及其引用的字段(如有必要)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.