【发布时间】:2010-08-11 12:17:24
【问题描述】:
我有一个单例服务,在它唯一的方法中,我需要获取对绑定到当前请求的休眠会话的引用。最快的方法是什么?
【问题讨论】:
标签: hibernate spring grails spring-mvc
我有一个单例服务,在它唯一的方法中,我需要获取对绑定到当前请求的休眠会话的引用。最快的方法是什么?
【问题讨论】:
标签: hibernate spring grails spring-mvc
我们按照以下方式进行:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class YourService {
SessionFactory sessionFactory // set by Dependency Injection
public void yourMethod() {
Session session = sessionFactory.getCurrentSession();
// do something with session
}
}
当您的服务位于 grails-app/services 目录并以“Service”结束时,会话工厂由 grails 注入。
【讨论】:
或者只是
def someServiceMethod {
SomeDomainObjectClass.withSession { session ->
.....
}
}
域对象是定义在 grails-app/domain 目录中的类。
session 变量将在 withSession 闭包中获取当前的 Hibernate Session 引用。
【讨论】: