在 MyBatis 中,如果映射的結果中包含 Collection(如 List、Set、Map 等),并且這些 Collection 是延遲加載的情況下,事務管理可能會出現一些問題。
在這種情況下,如果在查詢結果后,事務還沒有提交或回滾,而在后續代碼中又嘗試訪問延遲加載的 Collection,就會導致異常。因為延遲加載的數據需要在事務提交之后才能訪問。
為了解決這個問題,可以在查詢數據時立即加載 Collection,或者在查詢數據后手動觸發延遲加載。另外,也可以使用 MyBatis 的二級緩存來避免重復查詢數據的情況,提高性能并避免事務管理問題。