我不是很了解Hibernate,所以我不知道去哪里找答案。
我有一个系统,它运行一些计算,每天做一个数据库备份,所以我的系统每天都备份。
这工作得非常快,但当我恢复这些日常备份之一时,(在Mysql或H2DB中)然后性能显著下降。
Hibernate有一个Context,还有刷新等等…
谁能解释一下我该怎么做?我经常从MySQL备份中恢复,并没有注意到Grails性能下降。我怀疑你在Grails/Hibernate上不需要做什么……除非你让Grails运行并恢复它下面的DB,这是我从未尝试过的。在这种情况下,您可能想尝试像下面这篇文章那样清理hibernate会话:
def propertyInstanceMap = org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP
private void cleanUpGorm() {
def session = sessionFactory.currentSession
session.flush()
session.clear()
propertyInstanceMap.get().clear()
}