java - 尝试使用 Java 将数据插入数据库时出现 TransactionRequiredException
问题描述
我正在尝试使用如下代码将数据插入数据库:
Query query=em.createNativeQuery("insert into tab1 (col1, col2) values ('val1', 'val2')");
int result=query.executeUpdate();
但它会抛出一个 TransactionRequiredException。那是什么?
解决方案
异常是不言自明的,并且在堆栈溢出时已经给出了多种解决方案。
您需要在执行任何插入/更新/删除操作之前启动会话(事务)。如果您使用的是 spring,那么您可以使用 @Transactional 属性,否则以编程方式创建/关闭事务。
请检查。 事务需要异常 JPA / Spring
推荐阅读
- python-3.x - AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“reset_index”,请尝试使用“应用”方法
- java - java ee编程中如何释放服务器缓存
- python - 如何序列化同一模型的外键
- java - 错误:光标“
“ 不存在 - sql - 5 个字符的字符串 ID,例如 Northwind CustomerID
- intellij-idea - 当我切换 git 分支时,如何在 Intellij Idea 中保存打开的选项卡列表?
- javascript - 使用 setTimeout 在 Javascript 中提取结果时出错
- triggers - 即使我创建了新的潜在客户,触发器仍在运行
- docker - 为什么无法访问docker swarm集群中docker stack部署的应用程序?
- linux - 使用 Ansible CLI / Ad-Hoc 注册变量输出