首先說明一下小編在做項目的時候遇到的棘手的問題: 使用遞歸展現添加和修改頁面中樹狀的上級的的部門列表
此處是添加部門代碼,並沒有什麼異常但是在接下來的用戶信息就會產生異常了。
這就是產生的異常情況,另外可以發現下面的圖中的所屬部門的值已經改變,說明數據庫中的值已經發生了改變。
而且無論點擊新建或是修改,每點擊一次或刷新都會導致“┣”的增加。
造成異常的原因分析:
當一個action中存在兩次及其以上的開啓事務的情況時,如果使Session對象中數據進行了改變,Session中的持久層就會更新到數據庫中,進而改變了原來的數據。如何不改變Session對象同時還可以將裏面的數據改變並且顯示出來。
解決方案:
現在的解決問題就是如何不改變Session,於是乎使用副本拷貝一份Session,這時隨便操作副本,因爲它與數據庫沒有任何關係。