问题描述
JPA提供了Hibernate功能的子集,但是EJB3提供了Hibernate无法解决的其他服务(例如Web服务,EJB,Timer服务)
与Hibernate相比,JPA具有以下优点:
- 标准化API
- 供应商独立性(可以在Hibernate,TopLink,OpenEJB等之间切换)
Hibernate具有以下优点:
您可以做的是使用JPA在EJB中编写应用程序,然后在必要时使用特定于Hibernate的功能。或者,如果您不关心标准化和供应商锁定,则只需使用普通的Hibernate进行持久化即可。实际上,您不太可能在Hibernate和其他提供程序之间切换,但是确实发生了。
解决方法
Hibernate和EJB3相对于彼此的优缺点是什么?
我找到了这篇文章,但并没有真正解决我的问题。如果我对这两种技术没有任何特别的联系,那是什么导致我选择一项而不是另一项呢?还是在某些情况下我想同时使用两者?
谢谢
编辑:回应评论:我对EJB3不太了解。 我只是想了解它是否对我的公司可行。如果EJB3与Hibernate不兼容,请解释原因。