hibernate配置文件中的session-factory标签?

时间:2015-06-07 19:35:47

标签: hibernate hibernate-mapping hibernate-criteria sessionfactory

我是新的Hibernate学习者。 我很困惑,为什么我们在hibernate配置文件中使用标记session-factory

我们也在主类中使用它为所有事务创建会话工厂对象。

2 个答案:

答案 0 :(得分:1)

在Hibernate中,SessionFactory来管理与数据库的会话和交易,正如您在 documentation 中看到的那样:

  

此处的主要合同是创建会话实例。通常应用程序具有单个SessionFactory实例服务于客户端请求的线程从此工厂获取会话实例

     

SessionFactory的内部状态是不可变的。一旦它   创建此内部状态已设置。这个内部状态包括所有   关于对象/关系映射的元数据。

编辑:

XML配置文件中的<session factory>标记用于配置初始化 hibernate的会话出厂设置,例如Dialect类和连接Driver类属性,您可以在 Hibernate - Configuration 看到 XML配置文件必须符合Hibernate 3 Configuration DTD

虽然我们在类中使用的sessionFactory实例用于管理每个数据库事务的会话,但您可以在jBossDeveloper's Sessions and transactions tutorial中找到有关它的更多详细信息。

答案 1 :(得分:0)

在Hibernate中执行数据库操作我们需要与数据库连接。要打开与数据库的连接,我们需要hibernate中的会话对象,要获取Session对象,我们需要Hibernate SessionFactory,它是我们通过它获取会话和执行数据库操作的工厂类。 Hibernate SessionFactory提供了三种方法来获取Session对象 - getCurrentSession(),openSession()和openStatelessSession()。

Hibernate SessionFactory getCurrentSession()方法返回绑定到上下文的会话。但为了实现这一点,我们需要在hibernate配置文件中配置它。