我在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