java hibernate创建本机查询javax.persistence.transactionrequiredexception:执行更新/删除查询

yks3o0rb  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(324)

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

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

但我在运行查询时遇到以下错误:
javax.persistence.transactionrequiredexception:执行更新/删除查询
有什么建议吗?我试过这样做:transactionrequiredexception执行update/delete查询

igetnqfo

igetnqfo1#

你需要一笔交易。

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

相关问题