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

Что такое ORM

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

Ключевые принципы ORM:

1. Отображение таблиц данных на классы: В нем каждая таблица в базе данных обычно отображается на класс в программе. Это позволяет работать с записями таблицы как с объектами указанного класса.

2. Отображение столбцов таблиц на атрибуты класса: Столбцы таблицы в базе данных отображаются на атрибуты класса, что позволяет обращаться к данным записи прямо через свойства объекта.

3. Управление связями между данными: Автоматически управляет отношениями между данными, такими как один-ко-многим, многие-ко-многим, позволяя разработчикам легко настраивать и использовать связанные данные.

4. Автоматизация запросов к базе данных: Позволяет выполнять запросы к базе данных, используя методы и функции высокого уровня, автоматически преобразуя их в SQL-запросы и обратно, что сокращает необходимость в ручной работе с SQL.

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

  • Продуктивность разработки: Можно сосредоточиться на логике приложения, а не на деталях реализации базы данных.
  • Уменьшение количества кода: Генерирует многие стандартные SQL-запросы автоматически, что уменьшает количество необходимого для написания кода.
  • Безопасность: Большинство таких фреймворков автоматически обрабатывают проблемы безопасности, такие как SQL-инъекции.
  • Переносимость: Запросы, сгенерированные им, могут быть независимы от конкретной СУБД, что упрощает миграцию между разными базами данных.

Недостатки:

  • Сложность: Может добавить сложность в проект, особенно в случаях, когда требуется настройка производительности или обработка сложных запросов.
  • Производительность: В некоторых случаях автоматически генерируемые запросы могут быть менее оптимизированы, чем ручно написанные SQL-запросы.

Примеры популярных ORM фреймворков включают Hibernate, JPA (Java Persistence API), MyBatis и другие. Они обеспечивают разработчикам инструменты для эффективной работы с базой данных в объектно-ориентированном стиле.

Feb. 27, 2024, easyoffer

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