回答

0

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

Hibernate SessionFactory getCurrentSession()方法返回绑定到上下文的会话。但为了这个工作,我们需要在休眠配置文件中配置它。

+0

感谢您的回答。我知道要管理会话,我们使用会话工厂。但是为什么我们使用两次第一个里面的配置文件标签第二个在main类里面,同时创建会话工厂对象。那么在配置文件中使用这个标签是什么? –

1

在Hibernate中SessionFactory用于管理会话和交易与数据库,因为你可以在documentation看到:

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

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

编辑:

在XML配置文件中的<session factory>标签用于配置初始化对Hibernate会话工厂设置,如Dialect类和连接Driver类的属性,你可以在Hibernate - ConfigurationXML配置文件必须符合Hibernate 3 Configuration DTD

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

+0

感谢您的回答。 我知道要管理会话,我们使用会话工厂。 但是我们为什么要用两次 首先在里面配置文件标签 第二个里面的main类,在创建会话工厂对象时。 然后 这个标签在配置文件中有什么用处? –

+0

@Nilay看看我的编辑。 –

+0

非常感谢您的回答。 –