一对一关系插入

布彭扎兰

如何以一对一关系插入记录?

假设我有3个表:表A,表B和表C

我必须在那些表中插入一条记录,该表A被引用为主键的主表。

让我们这样说:

tableB.PK = tableA.PK
tableC.PK = tableA.PK

现在,

当我在tableB或tableC中插入记录时,发生错误:

Error Message: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA"

但是,当我插入tableA时(这是两个表的主键的基础),就可以了,它会递增。

我将如何插入记录?特别是在JPA中。

  1. 我是否需要先插入tableA,然后再插入其他表?(只是这样做,它是行不通的)
  2. 我是否需要同时在表中插入数据?(如何?在JPA中会很好)
确定性失败

在这里我的评论再次作为答案

由于您在tableB和tableC中有对tableA的引用,因此必须先插入tableA并获取生成的PK。然后,您可以将其他具有检索到的ID的表插入。对于JPA,请看这里:如何使用JPA获取上一个持久实体的ID

这是一个如何在sql server中实现此目的的示例:http : //sqlfiddle.com/#!3/a3f62/3

这是关系数据库和外键的基础,我没有阅读Wiki文章,但必须提及相同的thinkg:http : //en.wikipedia.org/wiki/Foreign_key

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章