JPA、Hibernate、EJB比较

在过去的几年中,一些持久化框架得到了很好的发展,越来越多的人喜欢上了ORM映射。但是选择一个合适的持久化框架不是一个简单的事情。
首先我们讨论一下当前最有名的
Java Persistence API
Entity Enterprise Java bean
Hibernate
TopLink

JPA有什么优势?
JPA是基于标准的,越来越多的厂商期待在不久的将来提供JPA的实施。
它提供了Hibernate与TopLink最好的实施功能。
它可以和J2SE与javaEE应用程序一起使用,需要时可以使用Entity Enterprise Java bean,也可以不使用。

JPA有什么缺点?
由于非常新,JPA可能还要通过重大的发展,才能变得很稳定。
JPA只是一个规范,不是产品。你需要提供商提供一个实施,才能获取基于标准API取得的优势。

Hibernate有什么优势?
Hibernate易于学习与使用。
它非常灵活,你可以在任何需要持久化的应用系统中使用Hibernate。
它可以很好的向上扩展,因为他被设计为底层一直到集群环境中工作。

Hibernate有什么缺点?
Hibernate是另一个拥有自己的应用和维护周期的框架。
尽管有积极社区的支持,但是有时候缺乏专注于此产品的提供商,使得选择此应
用框架显得没有说服力。

TopLink有什么优势?
如果你的软件序列中有大量的Oracle产品,你可以选择TopLink持久化框架。
它是由Oracle支持的一个非常成熟的框架,而且经过了时间检测。
它拥有高级功能,比如集群应用程序之间的缓存同步、缓存验证策略和查询缓存,
使其非常适合在高性能且集群应用程序中使用TopLink。

Entity EJB有什么优势?
该基于组件的分布式模型使其独立于网络-EJB可以部署到其他应用服务的JVM上,
或者可以部署到位于不同地理位置的应用服务器的JVM上面。
你将获得完美的可收缩性:EJB可以很好的向上扩展,因为容器可以汇聚实例,必
需时可以进行激活与钝化。
EJB经过长时间的检测,已成为成熟的技术,它经过发展,还可以加入更多有用的服
务和功能,现在EJB3.0就加入了JavaEE元数据注解。

Entity EJB有什么缺点?
学习和使用EJB不是简单的事情。
EJB不提供持久化独立。
对于Entity bean要想获得可接受的性能水平一直是一个挑战,尤其是在远程调用当中。

持久化选择列表






你可能感兴趣的:(Hibernate,jpa,ejb)