当前位置: 首页 > 面试题库 >

在Grails中,如何在域类静态方法内访问休眠会话?

夏和雅
2023-03-14
问题内容

我已经在网络上阅读过各种文章,但就这一点而言,它们似乎比较分散。确切地讲,我需要在配置和方法中执行哪些操作才能获取hibernate会话。我正在尝试对存储过程进行一些直接的sql调用。我有一个很大的代码库,我从Ruby移植了很多静态方法和存储过程调用。如果我需要使用sessionFactory,那么我该如何访问它?


问题答案:

从静态方法中,您可以从应用程序上下文中提取sessionFactory bean:

import org.codehaus.groovy.grails.commons.ApplicationHolder as AH
...
def ctx = AH.application.mainContext
def sessionFactory = ctx.sessionFactory
def session = sessionFactory.currentSession


 类似资料: