我有两张桌子。结构是
个人表 Auto Id Number, int, Primary Key | 姓名,Varchar | 年龄,诠释 |
人口统计表 Auto id number, int, foreign key | 地址,varchar |
我创建了如下实体类:
个人实体类
@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;
}
我将 jpa 与 Microsoft SQL 一起使用。我想先将数据插入到 Personal 表中,db 会自动生成一个主键。该主键是人口统计表的外键。当我打电话给persist()
我时,我得到了错误
INSERT 语句与 FOREIGN KEY 约束冲突。无法执行语句;约束(空)
我在这里做错了什么?我想在个人表中插入数据并使用自动生成的键,我想在人口统计表中插入数据