And*_*rew 9 grails hibernate sessionfactory
我在网上看过各种各样的文章,但在这一点上它们似乎相当分散.在我的配置和我的方法中,我需要做什么才能获得hibernate会话.我正在尝试为存储过程进行一些直接的SQL调用.我有一个很大的代码库,我从Ruby移植了很多静态方法和存储过程调用.如果我需要使用sessionFactory,那么如何才能访问它?
Bur*_*ith 26
从静态方法中,您可以从应用程序上下文中提取sessionFactory bean:
import org.codehaus.groovy.grails.commons.ApplicationHolder as AH
...
def ctx = AH.application.mainContext
def sessionFactory = ctx.sessionFactory
def session = sessionFactory.currentSession
Run Code Online (Sandbox Code Playgroud)
Jea*_*ash 22
如果它在服务或控制器中,您只需要声明sessionFactory
def sessionFactory
注入它.之后你可以参考
sessionFactory.currentSession
Run Code Online (Sandbox Code Playgroud)
使用它.
查看hibernate-filter插件(文件HibernateFilterGrailsPlugin.groovy),了解如何注入一堆使用会话的方法.
Mic*_*d a 13
你可以使用withSession
Book.withSession { session ->
session.clear()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17329 次 |
| 最近记录: |