这是我对Spring Bean的配置:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
然后像这样在DAO层中使用它:
@Resource(name = "sessionFactory")
private SessionFactory sessionFactory;
最后,这是我的问题来自哪里:
public T getById(int id) {
Session session = sessionFactory.getCurrentSession();
return (T) session.get(clz, id);
}
总之,我的问题是:
在
"org.springframework.orm.hibernate4.LocalSessionFactoryBean"
类中,没有SessionFactory's
方法的实现–“getCurrentSessio
”。我跟踪了
LocalSessionFactoryBean's
层次系统,但没有找到方法“getCurrentSession
”的实现。期待您的回答,非常感谢!
最佳答案
顾名思义,工厂bean充当工厂。它的作用是创建另一种类型的bean。 Spring注入该工厂bean的产品,即工厂bean创建的对象。 LocalSessionFactoryBean
产生SessionFactory
。
有关更多信息,请阅读the documentation。