JPA一对一关联,更新时出错的问题
简单说下数据结构
表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时)
明明我先删除提交后再增加就没问题。。。
求专业点的解决办法