带有外键的休眠更新表

时间:2019-06-27 18:53:21

标签: java hibernate spring-boot jpa entitymanager

是新来的休眠方式。我试图更新表并最终得到 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);
        }
    }
}

当前获得“密钥重复输入”。看到日志合并方法不是运行更新查询,而是运行插入查询。任何帮助表示赞赏吗?

0 个答案:

没有答案