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