Встречается на собеседованиях • сегодня
В чем разница между JDBCTemplate и Criteria API
JDBCTemplate — это часть Spring JDBC, упрощающая работу с JDBC, уменьшая boilerplate код (обработка исключений, закрытие ресурсов). Подходит для простых SQL-запросов, но требует ручного написания SQL. Пример:
```java
jdbcTemplate.query("SELECT * FROM users WHERE id = ?",
new Object[]{userId},
(rs, rowNum) -> new User(rs.getInt("id"), rs.getString("name")));
```
Criteria API — это JPA-инструмент для типобезопасного построения запросов через объекты, без SQL. Подходит для сложных динамических запросов. Пример:
```java
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(User.class);
Root root = query.from(User.class);
query.select(root).where(cb.equal(root.get("id"), userId));
```
**Ключевые отличия:**
- JDBCTemplate ближе к JDBC, Criteria API — к JPA.
- Criteria API типобезопасен, JDBCTemplate — нет.
- Criteria API удобен для динамических запросов, JDBCTemplate — для простых или нативных SQL.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы