我已经阅读了网络上的各种文章,但在这一点上它们似乎相当分散。究竟我需要在我的配置和方法中做什么才能获得休眠会话。我正在尝试对存储过程进行一些直接的 sql 调用。我有一个大型代码库,我从 Ruby 移植了很多静态方法和存储过程调用。如果我需要使用 sessionFactory,那么如何访问它?
问问题
18834 次
3 回答
27
从静态方法中,您可以从应用程序上下文中提取 sessionFactory bean:
import org.codehaus.groovy.grails.commons.ApplicationHolder as AH
...
def ctx = AH.application.mainContext
def sessionFactory = ctx.sessionFactory
def session = sessionFactory.currentSession
于 2009-12-14T14:03:07.757 回答
23
如果它在服务或控制器中,您只需要声明 sessionFactory
默认会话工厂
让它注入。之后你可以参考
sessionFactory.currentSession
使用它。
查看 hibernate-filter 插件(文件 HibernateFilterGrailsPlugin.groovy)了解如何注入一堆使用会话的方法。
于 2009-12-14T03:50:50.343 回答
14
于 2014-05-18T09:36:33.587 回答