bpu*_*lan 11 sql database sql-server jpa
如何以一对一的关系插入记录?
假设我有3个表:表A,表B,表C.
我必须在那些表中插入记录,表A被引用为主键的主表.
让我们这样说:
tableB.PK = tableA.PK
tableC.PK = tableA.PK
Run Code Online (Sandbox Code Playgroud)
现在,
当我在tableB或tableC中插入记录时,会发生错误:
Error Message: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA"
Run Code Online (Sandbox Code Playgroud)
但是当我在tableA中插入时,这是两个表的主键的基础,它是正常的,它会递增.
我如何插入记录?特别是在JPA.
det*_*ail 12
这里我的评论再次作为答案
因为你在tableB和tableC中有一个引用到tableA,你必须先插入tableA并检索生成的PK.然后,您可以使用检索到的ID插入任何其他表.对于JPA,请看这里:如何使用JPA获取最后一个持久化实体的Id
这里有一个如何在sql server中实现这个的例子:http: //sqlfiddle.com/#!3/a3f62/3
这是一个基本的关系数据库和外键,我没有阅读维基文章,但它必须提到相同的想法:http://en.wikipedia.org/wiki/Foreign_key