是新来的休眠方式。我试图更新表并最终得到
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry for key 'PRIMARY' exception
Am使用entityManager.merge()方法更新表。
下面是表的关系
TableA(
@ID
int col A ,
String colB....)
TableB(
@ID
int col X ,
@ManyToOne
@Id
@JoinColumn(name = "colA",referencedColumnName = "colA")
TableA tableA ....)
我已经使用Entitymanager.persist()在两个表中插入数据。 现在我想更新TableB中的数据。下面是我的相同方法
public void update(List<TableBObj> TableBObjList){
for(TableBObj tableBObj: TableBObjList){
em.merge(tableBObj);
}
}
}
当前获得“密钥重复输入”。看到日志合并方法不是运行更新查询,而是运行插入查询。任何帮助表示赞赏吗?