只需要您對Spring的聲明式交易管理的專家意見。這裏是我的設置:春季 - 只讀交易
- DAO層是普通的舊JDBC使用Spring的JdbcTemplate(無休眠等)
- 服務層是POJO與聲明式事務如下 -
save*, readonly = false, rollback for Throwable
事情很好地工作以上設置。但是,當我說get*, readonly = true
時,我在我的日誌文件中看到錯誤,說Database connection cannot be marked as readonly
。這發生在服務層的所有get *方法中。
現在我的問題是:
A.我必須設置get*
爲只讀?我所有的get*
方法都是純讀取數據庫操作。我不希望在任何事務環境中運行它們。上述錯誤有多嚴重?
B.當我刪除get*
配置時,我看不到錯誤。另外,我所有的簡單的get*
操作都是在沒有事務的情況下執行的。這是要走的路嗎?
C.爲什麼任何人想要有交易方法readonly = true
?這個配置有什麼實際意義嗎?
謝謝!一如既往,您的反應非常感謝!
謝謝Bozho!當天清除。我想我將使用普通JDBC刪除get *配置。 – AAK 2010-04-01 20:19:09
如果沒有隻讀事務,您也可以打開自己的'org.hibernate.LazyInitializationException'。 – HDave 2014-11-12 21:15:10
以何種方式可以避免org.hibernate.LazyInitializationException,同時起訴waffle身份驗證管理器。 – 2015-08-27 13:53:19