Когда обычный JDBC лучше использовать, чем JPA?

Основные отличия между JPA и JDBC:

Короткий ответ

Что ответить на собеседовании

Основные отличия между JPA и JDBC:

Подробный разбор

Ответ с пояснениями

Основные отличия между JPA и JDBC:

  • Уровень абстракции:

    • JDBC — низкоуровневый API для работы с базой данных через SQL-запросы.
    • JPA — высокоуровневая ORM (Object-Relational Mapping) технология, которая позволяет работать с базой через объекты Java.
  • Работа с данными:

    • JDBC требует ручного написания SQL-запросов и маппинга результатов в объекты.
    • JPA автоматически маппит объекты на таблицы и обратно, используя аннотации и конфигурации.
  • Управление транзакциями:

    • В JDBC транзакции управляются вручную.
    • В JPA транзакции обычно управляются контейнером или фреймворком.
  • Производительность:

    • JDBC может быть быстрее за счёт прямого контроля и отсутствия дополнительного слоя.
    • JPA удобнее и быстрее в разработке, но может иметь накладные расходы.

Пример использования JDBC:

Connection conn = DriverManager.getConnection(url, user, pass);
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?");
stmt.setInt(1, 1);
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
    System.out.println(rs.getString("name"));
}

Пример использования JPA:

User user = entityManager.find(User.class, 1);
System.out.println(user.getName());

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее