我在Hibernate上使用本机查询时遇到了这个问题。这个查询:

Query query = session.createSQLQuery(
"UPDATE InvoiceItems SET current_balance = '"+current_balance+"' WHERE record_id = '"+record_id+"'");
query.executeUpdate();


但是运行查询时出现此错误:


  javax.persistence.TransactionRequiredException:执行
  更新/删除查询


有什么建议吗?我已经尝试过这种方式:TransactionRequiredException Executing an update/delete query

最佳答案

您需要一笔交易。

Transaction txn = session.beginTransaction();
Query updateQuery = session.createQuery("UPDATE Post p SET p.title = ?1, p.body = ?2 WHERE p.id = ?3");
updateQuery.setParameter(1, title);
updateQuery.setParameter(2, body);
updateQuery.setParameter(3, id);
updateQuery.executeUpdate();
txn.commit();


来自https://www.baeldung.com/jpa-transaction-required-exception

10-01 02:23
查看更多