首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate SessionFactory

Hibernate SessionFactory
EN

Stack Overflow用户
提问于 2010-12-30 17:27:21
回答 3查看 15.6K关注 0票数 4
代码语言:javascript
复制
private HibernateTemplate hibernateTemplate;

        public void setSessionFactory(SessionFactory sessionFactory) {
            this.hibernateTemplate = new HibernateTemplate(sessionFactory);
    }

什么是SessionFactory类?我们为什么要使用它?hibernateTemplate类的用途是什么?

代码语言:javascript
复制
<bean id="myUserDAO" class="com.mysticcoders.mysticpaste.services.ContactSerImpl">
        <property name="sessionFactory" ref="mySessionFactory"/>
    </bean>

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="myDataSource" />
        <property name="annotatedClasses">
            <list>
                <value>com.mysticcoders.mysticpaste.model.Contact</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>
            </props>
        </property>
    </bean>

这在bean中有什么作用

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-30 17:57:45

应用程序从会话工厂获取会话实例。在应用程序中,SessionFactory主要被配置为Singleton,如果你使用的是Spring,它将在应用程序上下文中被配置为单例。

SessionFactory缓存生成Hibernate在运行时使用的SQL语句和其他映射元数据。

已在一个工作单元中读取并可在未来的工作单元中重用的缓存数据。

您可以从Configuration类获取会话工厂的对象

代码语言:javascript
复制
SessionFactory sessionFactory =
Configuration.buildSessionFactory();  

就在你的电话会议上。您已使用AnnotationSessionFactoryBean类配置了sessionFactory

代码语言:javascript
复制
bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

并且您已经设置了所需的会话工厂的一些属性。

HibernateTemplate是Spring提供的一个类:

简化Hibernate数据访问代码的

助手类。遵循org.springframework.dao异常层次结构,自动将HibernateExceptions转换为DataAccessExceptions。

票数 8
EN

Stack Overflow用户

发布于 2014-01-24 13:07:57

  1. SessionFactory作为接口,它为整个应用程序或整个hibernate提供session对象,application.
  2. There一般是一个SessionFactory,可以被所有的应用程序线程共享。SessionFactory是thread-safe.
  3. SessionFactory,是在进程或集群级别的事务之间可重用的二级数据缓存。

Continue.......

票数 6
EN

Stack Overflow用户

发布于 2010-12-30 17:32:09

SessionFactory包含所有hibernate映射信息,它负责在事务中创建和维护hibernate会话。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4561450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档