我正在尝试使用来自实体管理器的 native 查询调用来调用存储过程,如下所示
String command = "..."//my stored procedure call command
Query q = getEntityManager().createNativeQuery(command);
但是当我运行它时,我收到以下消息:
Exception, procedure ... can be run only in unchained transaction mode...
我知道如果我有一个连接对象,我可以设置 con.setAutoComit(true) 来完成这项工作。
但我的问题是:因为我有一个实体管理器对象,我可以从实体管理器对象以某种方式设置它吗?我想要容器来管理所有数据库资源...
我正在使用 EclipseLink。
谢谢。
请注意:我无法控制数据库端,因此我无法将事务模式更改为“任何”。
最佳答案
我找到了解决方案:
getEntityManager().createNativeQuery("set chained off").executeUpdate();
关于jpa - 如何从实体管理器设置 "unchained transaction mode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859158/