JPA一对一关联,更新时出错的问题

Odysseus_ 2019-02-11 12:51:08
简单说下数据结构

表A的id(PK) 与表B的a_id一对一关联

===============A===============
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

/**
* position
*/
@OneToOne(mappedBy = "tableA")
private B tableB;

===============B=================

/**
* repository_card_id
*/
@OneToOne
@JoinColumn(name="a_id", referencedColumnName="id")
private A tableA;

==================================

JPA里大概就是以上设定

然后结果是,我更新表B的时候增加,删除都没问题,但一旦将一个已经存在的表B里的a_id做更新的话,就会报错
identifier of an instance of A was altered from 5 to 2

貌似是说我试图更改A表的主键(我是对B做saveandflush时)
明明我先删除提交后再增加就没问题。。。

求专业点的解决办法
...全文
117 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧