爲什麼我們在hibernate中打開會話以從數據庫中獲取數據而不保留數據,在JPA中我們使用EntityManager加載數據,但是我們不打開事務以僅從數據庫獲取數據。爲什麼會話是在hibernate中從數據庫中獲取數據?
-1
A
回答
0
好問題。在本地Hibernate中,會話與JPA中的EntityManager具有相同的功能,那麼爲什麼大多數hibernate示例在讀取數據時都有事務。
如果你只是打開一個會話,只做一個讀取查詢,你應該沒問題。但是,這不是recommended。問題是,如果您正在使用現有的會話,您的選擇查詢可能會導致預查詢刷新,最終可能會導致插入。 您可能還想看看這個post
就我個人而言,我幾乎從不在顯式的EntityManager或Session上調用getTransaction()。使用容器管理器EntityManager/Session和聲明式事務(比如Spring @Transactional或J2EEs @TransactionAttribute)要好得多。您可以通過查看這個tutorial來了解它是如何工作的。這個例子有點過時了,因爲您會使用彈簧數據JPARectory而不是編寫自己的DAO。
相關問題
- 1. 什麼是數據庫會話?
- 2. 爲什麼從數據庫中獲取完整數據庫備份時數據庫的大小會增加?
- 3. 從數據中獲取會話
- 4. 根據會話從數據庫獲取數據
- 5. 爲什麼會話中丟失數據?
- 6. 爲什麼coldfusion不在數據庫中存儲會話
- 7. PHP登錄 - 從數據庫獲取用戶數據或存儲在會話中?
- 8. 在Django中獲取會話數據SessionWizardView
- 9. 使用hibernate獲取當前數據庫會話
- 10. 爲什麼hibernate會話刷新方法正在提交數據庫中的數據?
- 11. 爲什麼數據不會存儲在我的數據庫中?
- 12. 爲什麼我會從memcached中丟失會話數據?
- 13. 從psql數據庫中獲取數據
- 14. 從moodle數據庫中獲取數據
- 15. 從數據庫中獲取數據
- 16. Android從數據庫中獲取數據
- 17. PDO從數據庫中獲取數據
- 18. 從數據庫中獲取數據。
- 19. CodeIgniter從數據庫中獲取數據
- 20. Django從數據庫中獲取數據
- 21. 從數據庫表中獲取數據
- 22. 從數據庫asp.net中獲取數據
- 23. 它爲什麼從數據庫中獲取實體?
- 24. 如何使用hibernate從數據庫中獲取數據時過濾數據?
- 25. 我從數據庫SQL從數據庫中獲取數據
- 26. 什麼是實時從數據庫中獲取數據的最佳方法?
- 27. 爲什麼我從一個空的mongodb數據庫中獲取數據?
- 28. 爲什麼我從Firebase數據庫中獲取重複的數據?
- 29. 爲什麼我無法使用mysqli_query從mysql數據庫表中獲取數據?
- 30. 如何從數據庫中獲取信息到會話?