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

В чем разница между 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.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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