0
從REST調用觸發的從遠程服務器加載數據的過程。集成測試失敗:Grails集成測試和sessionFactory.currentSession
java.lang.NullPointerException: Cannot get property 'currentSession' on null object
負荷大量的數據,所以調用flush裝載每隔幾百記錄:
protected cleanUpGorm() {
def session = sessionFactory.currentSession
session.flush()
session.clear()
}
如前所述會話工廠沒有加載。這是一個'助手時髦類' - 既不是服務也不是控制器。我必須現在按照GrailsApplication傳遞sessionFactory嗎?
不幸的是,你在說桔子和檸檬通過Grails工具類檢索會話。 'WebUtils.retrieveGrailsWebRequest()。session'不是'org.hibernate.session'的相對值。 'GrailsHttpSession'是來自不同類別的繼承者。因此,使用'def session = WebUtils.retrieveGrailsWebRequest()。session'將不允許你執行像session.createSQLQuery(...)這樣的請求。我仍然在摸索我的頭腦是否真的可以在集成測試中嘲笑sessionFactory。以上所有建議都不適用於我 – 2017-04-07 09:49:59