Встречается на собеседованиях • сегодня

В чем разница между Hibernate и JPA

Hibernate — это ORM-фреймворк, который реализует JPA (Java Persistence API). JPA — это стандартная спецификация, описывающая управление персистентностью в Java.

Ключевые различия:

  1. JPA — интерфейс (набор аннотаций и классов), а Hibernate — его реализация (как и EclipseLink, OpenJPA).
  2. Hibernate предоставляет дополнительные фичи, не входящие в JPA (например, Criteria API до JPA 2.0, собственный кэш второго уровня).
  3. JPA обеспечивает переносимость между разными провайдерами.

Пример с JPA (Hibernate как провайдер):

java
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    // геттеры/сеттеры
}

Здесь @Entity, @Id — аннотации JPA, но под капотом работает Hibernate.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы