2
我遇到了Grails 2.2.2的間歇性問題。Grails何時關閉/刷新Hibernate會話?
控制器1:保存與GORM的對象(例如,book.save()
) 控制器2:在同一表上做了原生查詢與Groovy.sql
(select * from BOOK...
)
兩個控制器正在返回render ... as JSON
,不使用GSP。
瀏覽器打緊接着連續兩個控制器:回調後控制器1命中控制器2
通常,這工作得很好,因爲我相信底層的Hibernate Session被刷新並在完成請求之後關閉。但在極少數情況下,第二個控制器觸發時行似乎沒有插入。但是,如果我手動刷新控制器,那麼行將被正確插入 - 所以刷新正在發生,比我預期的稍晚一點點。
在會話刷新之前瀏覽器是否有可能將響應視爲已完成?