在我的hibernate.cfg.xml文件中,其中一个属性是 -
<property name = "transaction.factory_class"> <!--1-->
org.hibernate.transaction.JDBCTransactionFactory <!--2-->
</property> <!--3-->
其他属性很容易理解。但是,当我看到上面的属性时,我的脑海中浮现出许多问题。 line 1 - 这指定了实现TransactionFactory接口的类。
Q1 - 我看了TransactionFactory的Java文档,但并没有真正理解它的含义。这里的“工厂”是什么意思?为什么不按照下面的语句称其为TransactionGenerator?
Contract for generating Hibernate Transaction instances.
Q2 - TransactionFactory让我想到了Transaction。这是否与数据库事务完全相同?
Q3 -
单个会话可能涵盖多个事务,因为会话(应用程序和数据存储之间的对话)的概念比事务的概念更粗略。但是,打算在任何时间内将至多一个未提交的Transaction与特定会话相关联。
...会话的概念比事务的概念更粗略。
这句话的简单含义是什么?
然而,打算在任何时间内将至多一个未提交的Transaction与特定会话相关联。为什么打算这样做?
我不认为API文档很清楚。这使得新手的生活很艰难。