JPA vs ORM vs Hibernate?

M S*_*ach 44 java orm hibernate jpa

我通过各种资源了解了它们.进口商是: -

  1. 关于他们每个人的维基百科文章
  2. JPA和Hibernate有什么区别?

这是我对什么是差异的理解.我不确定我对JPA和ORM是否正确

  1. ORM:对象关系映射是将数据从面向对象语言转换为关系数据库的概念/过程,反之亦然例如在java中,它借助于反射和jdbc完成.

  2. Hibernate:它执行上面的概念.

  3. JPA:它比ORM高出一步.它的高级API和规范使得不同的ORM工具可以实现,从而为开发人员提供了将实现从一个ORM更改为另一个ORM的灵活性(例如,如果应用程序使用JPA api并实现hibernate.将来它可以切换到IBatis如果需要的话.但另一方面,如果应用程序直接使用没有JPA平台的Hibernate锁定实现,那么switiching将是一项艰巨的任务)

可以有/不带JPA规范的ORM实现.例如,根据hibernate部分下的这个链接,只有Hibernate 3.2及更高版本提供了Java Persistence API的实现.

Kev*_*oke 28

  1. ORM是采用面向对象数据和映射到关系数据存储(例如RDBMS)的方法

  2. Hibernate是JPA的一个实现,使用ORM技术.

  3. JPA是Java EE中ORM的EE标准规范.Hibernate也是本规范的一个实现,因为您可以使用标准的JPA API并配置您的应用程序以使用Hibernate作为规范的提供者.

Hibernate提供的功能也是JPA规范中指定的ORM功能的超集.这意味着,虽然它提供了JPA API的实现,但它还提供了JPA指定的更多功能.

  • Hibernate是JPA规范的一个实现,它本身是Java EE规范的一部分.ORM是将对象映射到关系表的方法. (3认同)
  • @HalfBloodPrince,正如Kevin上面所说,ORM是将对象映射到关系数据库表的方法。任何提供对象-数据库表映射机制的框架都称为ORM框架。Hibernate 是在 JPA 规范出现之前就已经存在市场的 ORM 框架。早些时候有自己的 Hibernate 实现(一个 ORM 框架),之后 Hibernate 创建了 JPA 实现。今天,Hibernate 有两种风格 1. 自己的实现 2. JPA 实现 (2认同)