私は2つのエンティティ(市民、町)を作成しようとしています。
市民は1つの町へのリンクです。町には複数の市民がいることがあります。
どのような関係が良いのか分かりません。Spring Data:2つのエンティティ間の関係を設定する
私がしようとしていること:
@Entity
@Table(name = "citizen")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Citizen implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Column(name = "lastname", nullable = false)
private String lastname;
@OneToOne
@JoinColumn
private Town ownTown;
//getter and setter
}
@Entity
@Table(name = "town")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Town implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Column(name = "town_name", nullable = false)
private String townName;
//getter and setter
}
が、私はによって引き起こさ
取得しています: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: 重複したエントリ '1' のためにキー「town_id」
市民を挿入しようとしたとき。
この関係で何が問題になっていますか?