mcc的gravatar头像
mcc 2015-02-03 15:27:49

hibernate与jpa有什么区别和联系?

hibernate与jpa有什么区别和联系?

所有回答列表(3)
我擦勒的gravatar头像
我擦勒  LV2 2015年2月4日

~JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。

Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。

JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。那么Hibernate是如何实现与JPA的这种关系的呢。Hibernate主要是通过三个组件来实现的,及hibernate-annotation、hibernate-entitymanager和hibernate-core。

hibernate-annotation是Hibernate支持annotation方式配置的基础,它包括了标准的JPA annotation以及Hibernate自身特殊功能的annotation。

hibernate-core是Hibernate的核心实现,提供了Hibernate所有的核心功能。

hibernate-entitymanager实现了标准的JPA,可以把它看成hibernate-core和JPA之间的适配器,它并不直接提供ORM的功能,而是对hibernate-core进行封装,使得Hibernate符合JPA的规范。

评论(0) 最佳答案
spear123的gravatar头像
spear123  LV2 2015年2月3日

jpa是標準,是接口

hibernate實現了jpa

最代码官方的gravatar头像
最代码官方  LV167 2015年2月3日

hibernate是持久化实现技术,而jpa是持久化的标准,一个是具体实现,一个是接口协议,当然springdata jpa是在hibernate的基础上更上层的封装实现。

目前比较成熟的 JPA 框架主要包括 Jboss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink、Apache 的 OpenJPA 等。

参考:

使用Spring Data JPA 简化 JPA 开发

Hibernate_百度百科

JPA_百度百科

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友