java – Hibernate库和Hibernate JPA库之间的区别

在可以将Hibernate库添加到项目的屏幕中,有两个选项,Hibernate和Hibernate JPA.

2之间有什么区别?谷歌搜索没有提供解释.

最佳答案
我发现这提供了一个很好的解释.
http://elope.wordpress.com/2007/09/06/difference-between-jpa-and-hibernate/

从以上博客:
所以,如果我需要简明扼要的话:

a)JPA是您的代码应该使用的持久性Api.

b)JPA Api会将调用传递给实际的执行提供程序(例如:Hibernate / TopLink)来完成实际工作.

c)如果从性能预测中看,它将依赖于实际的持久性提供程序(Hibernate / TopLink)而不是JPA,因为它只是一个包装层.

d)如果你从代码依赖性的角度看,JPA更有意义,因为你的代码依赖于标准的Java Api.

e)如果您使用过Hibernate,那么您会发现JPA中缺少某些功能,例如条件查询等.这并不意味着您无法在应用程序中编写条件查询,您需要从JPA实体管理器获取Session对象并且现在你和hibernate项目一样好.

但是现在你的代码依赖于特定impl(Hibernate),你可以看到更多东西在JPA(2.0)中添加

f)你应该使用JPA:我的意思是你应该,API是干净的,虽然不是你需要的是他们,但是向前迈出了一大步.

转载注明原文:java – Hibernate库和Hibernate JPA库之间的区别 - 代码日志