Grails 3.1.0.RC1 如何获取sessionFactory?

Grails 3.1.0.RC1 how to get sessionFactory?

我将项目从 grails 3.0.11 迁移到 grails 3.1.0.RC1 并遇到错误

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:698) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 48 common frames omitted

我能做什么?谢谢

我不知道 3.1.X,但是在 2.4.X 和 3.0.11 中,我使用这样的东西:

def grailsApplication = Holders.getGrailsApplication()
def sessionFactory = grailsApplication?.mainContext?.sessionFactory

这在单元测试中不起作用,但那时我不需要会话工厂。它确实适用于开发、生产和集成测试。