Java 最常见的面试题:jpa 和 hibernate 有什么区别?

简介: Java 最常见的面试题:jpa 和 hibernate 有什么区别?

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的规范。

目录
相关文章
|
5月前
|
XML 前端开发 Java
java面试题之个人对SpringMvc的原理实现理解
java面试题之个人对SpringMvc的原理实现理解
|
4月前
|
安全 Java 数据处理
Java面试题:什么是Java中的Optional类及其使用场景?
Java面试题:什么是Java中的Optional类及其使用场景?
59 0
|
Java 数据库连接 API
Java 最常见的面试题:jpa 和 hibernate 有什么区别?
Java 最常见的面试题:jpa 和 hibernate 有什么区别?
java202304java学习笔记第六十四天-ssm-aop的底层实现 原
java202304java学习笔记第六十四天-ssm-aop的底层实现 原
44 0
java202304java学习笔记第六十四天-ssm-知识要点
java202304java学习笔记第六十四天-ssm-知识要点
58 0
|
Java 数据库连接
Java 最常见的面试题:hibernate 实体类必须要有无参构造函数吗?为什么?
Java 最常见的面试题:hibernate 实体类必须要有无参构造函数吗?为什么?
|
SQL Java 数据库连接
Java 最常见的面试题:mybatis 中 #{}和 ${}的区别是什么?
Java 最常见的面试题:mybatis 中 #{}和 ${}的区别是什么?
|
Java 数据库连接 数据库
Java 最常见的面试题:为什么要使用 hibernate?
Java 最常见的面试题:为什么要使用 hibernate?
|
Java 数据库连接
Java 最常见的面试题:hibernate 是如何工作的?
Java 最常见的面试题:hibernate 是如何工作的?
|
Java 数据库连接
Java 最常见的面试题:hibernate 对象有哪些状态?
Java 最常见的面试题:hibernate 对象有哪些状态?