39 java orm persistence hibernate jpa
我刚刚开始我的JPA 2.0研究,我有这段代码:
em = SessionFactory.startSession();
tx = em.getTransaction();
Run Code Online (Sandbox Code Playgroud)
我的问题是:我不确定我是否完全理解使用会话和使用事务之间的区别.在几行中,有谁能告诉我他们之间最大的区别?谢谢 !
asa*_*yer 106
你去银行存入2张支票,并提取一笔小额款项.
所以你排队直到柜员打开.
你先付款.
然后你的第二个.
然后你退出.
现在你完成了,你离开了柜员线.
到达出纳员就像创建会话,现在你在银行,准备工作.
每次存款和取款都是他们自己包含的工作,这些都是您的交易.
当您完成工作并离开时,您正在关闭或放弃您的会话.
所以,从本质上讲,会话包含您的交易,毕竟如果您从未进入银行,您无法进行银行存款吗?
Sea*_*oyd 10
em = SessionFactory.startSession();
Run Code Online (Sandbox Code Playgroud)
在JPA中,没有Session,也没有SessionFactory.SessionFactory是一个特定于hibernate的接口,如果你使用JPA就不应该使用它(使用Hibernate自己的API或者使用Hibernate作为JPA Provider,但不能同时使用两者.)
会话是您用于与数据库交互的内容.
事务用于指定要在其中操作的会话的边界.
实质上,事务通过仅允许会话一次与其进行交互来防止数据库被破坏.(它有点复杂,因为你可以从数据库中读取许多事务,但只有一个事务正在编写.)
| 归档时间: |
|
| 查看次数: |
25913 次 |
| 最近记录: |