我有一个从数据库读取数据的服务。阅读后有一个冲突,导致标题中提到的例外。以下是陈述的序列只读服务:javax.persistence.TransactionRequiredException:没有事务正在进行中
ManagerFactory factory = new ManagerFactory();
EntityManager manager = factory.getManager();
EntityTransaction transaction = manager.getTransaction();
Query query = manager.createQuery("select personRoleJPA from personRoleJPA");
personRoleJPA = (PersonRoleJPA) query.getSingleResult();
if (manager.isOpen()) {
manager.flush();
}
if (manager.isOpen()) {
manager.close();
manager = null;
}
if (transaction.isActive()) {
transaction.commit();
}
我怀疑这个例外是因为我没有开始交易。 我的问题是你真的需要刷新&提交时,你没有做任何写道?
不,它不需要刷新,并承诺当你不写任何东西 – Nimesh
删除所有与交易相关的线,你将摆脱的问题 –
的@侯赛因扎瓦维:
关于
commit()
你也可以从阅读:你的意思是我甚至不需要创建一个事务'EntityTransaction transaction = manager.getTransaction();' ? – Nancy