我有一個從數據庫讀取數據的服務。閱讀後有一個衝突,導致標題中提到的例外。以下是陳述的序列只讀服務: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