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

В чем разница между подходами ORM и Query Builder

ORM (Object-Relational Mapping) работает с объектами, отображая таблицы БД в классы. Позволяет оперировать данными как объектами, автоматически генерируя SQL. Пример с Sequelize (Node.js):

javascript
const user = await User.findOne({ where: { id: 1 } });
user.name = 'John';
await user.save();

Query Builder предоставляет fluent-интерфейс для построения SQL-запросов, но не маппит результаты в объекты. Более низкоуровневый, чем ORM. Пример с Knex.js:

javascript
const user = await knex('users').where('id', 1).first();
await knex('users').where('id', 1).update({ name: 'John' });

Ключевые отличия:

  • ORM абстрагирует БД, Query Builder ближе к SQL
  • ORM может иметь проблемы с производительностью в сложных запросах
  • Query Builder требует больше ручной работы, но дает больше контроля
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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