其他分享
首页 > 其他分享> > spring – 为什么LocalSessionFactoryBean不实现getCurrentSession,同时SessionFactory的实例可以调用方法?

spring – 为什么LocalSessionFactoryBean不实现getCurrentSession,同时SessionFactory的实例可以调用方法?

作者:互联网

这是我对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方法的实现 – “getCurrentSessio”.

我通过跟踪了LocalSessionFactoryBean的层次系统,但是我找不到方法“getCurrentSession”的实现.

我期待你的回答,非常感谢!

解决方法:

正如其名称所示,工厂bean充当工厂.它的作用是创建另一种类型的bean. Spring注入了这个工厂bean的产品,即工厂bean创建的对象. LocalSessionFactoryBean生成SessionFactory.

有关更多信息,请阅读the documentation.

标签:spring,hibernate,session,code-injection
来源: https://codeday.me/bug/20190831/1772184.html