这两个完全不同。
EJB3是一个组件模型,与ORM直接无关。它确实有助于轻松管理事务,并使您可以轻松地从JPA访问实体管理器,JPA是Java
EE中的标准化ORM解决方案。
Hibernate(3)确实是一种ORM解决方案,并且碰巧它实现了JPA。
因此,更逻辑的问题是使用标准化的JPA接口还是直接使用Hibernate核心API。接下来的问题可能是是独立使用JPA还是与EJB 3结合使用。
答案在某种程度上取决于您的确切需求,但是通常将JPA与EJB
3结合使用是最简单的解决方案。独立使用JPA或Hibernate需要更多冗长的代码,并且您必须手动管理事务,这可能很麻烦。
JPA vs Hibernate是另一场辩论。JPA具有标准化接口的好处,因此更多的开发人员可能会熟悉它。另一方面,本地Hibernate
API始终是JPA的超集,因此提供了更多功能。
通常,开发人员主要将代码基于JPA,然后在有意义的地方使用一些特定于Hibernate的注释或API调用。在99.99%的情况下,支持使用这种混合API。
另请注意,Glassfish与捆绑在一起
Eclipselink,而不与Hibernate
捆绑在一起。Eclipselink可与Hibernate相提并论,但早在十多年之前就已经有了。Hibernate从Eclipselink(当时称为Toplink)中获得了很多收益。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)