JPA 2.0 中的会话和事务之间有什么区别?
2022-08-31 20:23:46
我刚刚开始我的JPA 2.0学习,我有这段代码:
em = SessionFactory.startSession();
tx = em.getTransaction();
我的问题是:我不确定我是否完全理解使用会话和使用事务之间的区别。在短短几行中,谁能告诉我它们之间最大的区别吗?谢谢!
我刚刚开始我的JPA 2.0学习,我有这段代码:
em = SessionFactory.startSession();
tx = em.getTransaction();
我的问题是:我不确定我是否完全理解使用会话和使用事务之间的区别。在短短几行中,谁能告诉我它们之间最大的区别吗?谢谢!
你去银行存入2张支票,并提取一小笔钱。
所以你排队,直到柜员打开。
您进行首次存款。
然后是你的第二个。
然后你提款。
现在你完成了,你离开了柜员线。
到达柜员就像创建您的会话,现在您在银行中,准备工作。
每个存款和取款都是他们自己包含的工作集,这些是您的交易。
当您完成工作并离开时,您将关闭或放弃会话。
所以,从本质上讲,会话包含您的交易,毕竟如果您从未去银行,则无法进行银行存款,对吗?
em = SessionFactory.startSession();
在JPA中,没有会话,也没有会话工厂。SessionFactory是一个特定于休眠的接口,如果您使用JPA,则不应使用该接口(使用Hibernate自己的API或使用Hibernate作为JPA提供程序,但不能同时使用两者。