データベース同じ主キーとOneToOneとForeignKeyの
*user_account*
id (PK)
email
password
*user_detail*
id(PK)(FK)
name
city
エンティティ
@Table(名= "user_detail") パブリッククラスUserDetail implementsSerializable {
@Id private Integer id; ... @OneToOne @JoinColumn(name="id") private UserAccount userAccount;
}
@Table(name="user_account")
public class UserAccount implementsSerializable{
@Id private Integer id;
@OneToOne(mappedBy="userAccount")
private UserDetail userDetails;
}
エラー 例外説明:複数の書き込み可能なマッピング[user_detail.ID]フィールドに存在します。書き込み可能と定義できるのは1つだけです。他はすべて読み取り専用に指定する必要があります。あなたが@Id private Integer id;
と@JoinColumn(name="id")
の両方を持つことはできません
データベースに2つのテーブルを持ち、Entityクラスを1つだけ持つことは理にかなっていますか? – TGM
あなたがやっていることは構図ですので、そうです。実際の質問は次のようなものかもしれません:2つのテーブルを持つことは理にかなっていますか? – Viruzzo