私は2つのテーブルを持っています。構造は
個人テーブル 自動 ID 番号、整数、主キー | 名前、Varchar | 年齢、整数 |
人口統計テーブル 自動 ID 番号、int、外部キー | アドレス、varchar |
以下のエンティティクラスを作成しました。
PersonalEntity.class
@Entity
@Table("Personal")
public class PersonalEntity {
@Id
@Column(name="Auto Id Number")
private int id;
@Column(name="Name")
private String name;
@Column(name="Age")
private int age;
@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
private DemographicEntity de;
DemographicEntity.class
@Id
@Column(name="Auto Id Number")
private int id;
@Column(name="Address")
private String address;
ダオクラス
@Transactional
public PersonalEntity add(PersonalEntity pe, DemographicEntity de){
pe.setDe(de);
entitymanager.persist(pe);
return pe;
}
Microsoft SQL で jpa を使用しています。最初に個人テーブルにデータを挿入したいのですが、データベースは主キーを自動生成します。その主キーは、人口統計テーブルの外部キーです。私が電話したとき、persist()
私はエラーが発生しています
INSERT ステートメントが FOREIGN KEY 制約と競合しました。ステートメントを実行できませんでした。制約(null)
ここで何が間違っていますか?個人テーブルにデータを挿入し、自動生成されたキーを使用して、人口統計テーブルにデータを挿入したい