提问者:小点点

JavaHibernate创建本机查询javax.持久化. Transaction必需的异常:执行更新/删除查询


我有这个问题,在Hibernate上使用本机查询。这是查询:

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

但是我在运行查询时收到这个错误:

javax.持久化. Transaction必需的异常:执行更新/删除查询

有什么建议吗?我已经尝试过这种方式:Transaction需求异常执行更新/删除查询


共1个答案

匿名用户

你需要一笔交易。

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