使用JPA将值插入数据库

时间:2016-01-07 13:32:54

标签: java sql-server hibernate jpa

我试图通过JPA hibernate从ms sql表读取列的值,并在对每个值进行一些操作后将它们存储到同一个表的另一列。下面的代码从表Kennzahl中读取列kNFormelZPS,但随后在表的乞讨处插入一条id为0的新记录,并将单词new写入该单元格!然后它抛出一个异常,说主键不能重复。我猜它会尝试生成Id为0的新记录。

println

1 个答案:

答案 0 :(得分:0)

主要问题是没有使用合并以避免创建新实体。

private void convert() {
Kennzahl kn = new Kennzahl();
em = factory.createEntityManager();
for (Kennzahl qidbKennzahl : aqidbKennzahlen) {
  qidbKennzahl.setFormelZGL1(qidbKennzahl .getFormelZPseudo() + " test");
  em.merge(aquaQidbKennzahl);
  }
em.getTransaction().commit();
}