10.4 小结
在本章中,你学习了事务、并发、隔离性和锁。你现在知道Hibernate依赖数据库并发控制机制,但是由于自动版本控制和持久化上下文高速缓存,却在事务中提供了更好的隔离性保证。你学习了如何利用Hibernate API、JTA UserTransaction和JPA EntityTransaction接口编程式地设置事务范围。我们还探讨了包含EJB 3.0组件的事务程序集,以及你如何利用自动提交模式非事务地进行工作。
表10-1显示了可以用来比较原生的Hibernate特性和Java Persistence的一个概括。
表10-1 第10章中Hibernate和JPA的对照表
|
Hibernate Core |
Java Persistence和EJB 3.0 |
|
可以给JDBC和JTA配置Transaction API |
EntityTransaction API只对本地资源的事务有用 |
|
Hibernate可以在EJB中被配置为与JTA和容器托管事务整合 |
利用Java Persistence,在Java SE和Java EE之间,只有数据库连接名称这一配置变化 |
|
Hibernate默认通过自动版本控制,为最佳的可伸缩性提供乐观并发控制 |
Java Persistence通过自动版本控制,标准化了乐观并发控制 |
现在已经结束了以事务的方式对保存和加载对象所涉及的基础知识的讨论和探索。接下来将通过在用户和应用程序之间创建更为现实的对话,来把所有的知识点串联起来。






