我通过各种资源了解它们,其中重要的资源包括:
- 维基百科关于它们的文章
- JPA和Hibernate之间的区别是什么?
以下是我对它们之间区别的理解。我不确定我在JPA与ORM方面是否正确
ORM:对象关系映射是将数据从面向对象语言转换为关系型数据库或反向转换的概念/过程。 例如,在Java中,它通过反射和jdbc来完成。
Hibernate:它是上述概念的实现。
JPA:它是高级别API和规范,以便不同的ORM工具可以实现,从而提供灵活性,使开发人员可以将实现从一个ORM更改为另一个 (例如,如果应用程序使用JPA api和实现是Hibernate。将来,如果需要,它可以切换到IBatis。但另一方面,如果应用程序直接锁定实现 使用Hibernate而没有JPA平台,则切换将是困难的任务)
ORM可以有带/不带JPA规范的实现。例如,根据此链接在hibernate部分下, 仅Hibernate 3.2及更高版本提供了Java Persistence API的实现。