我是新的Hibernate
学习者。
我很困惑,为什么我们在hibernate配置文件中使用标记session-factory
?
我们也在主类中使用它为所有事务创建会话工厂对象。
答案 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配置文件中配置它。