Является ли GraphQL ORM?

Является ли GraphQL ORM? Кажется, что так оно и есть. В конце дня ему необходимо запросить базу данных для получения информации. Вы должны дать ему схему (как ORM). По моему мнению, на переднем конце вы передаете ему нужные вам детали, а GraphQL на задней панели предоставит вам только запрошенную вами информацию.

Единственное отличие, которое я вижу от традиционных ORM, таких как Sequelize или ActiveRecord, заключается в том, что GraphQL предоставит вам только то, что вы хотите, сделав его очень привлекательным и гибким. Я подозреваю, что все, что происходит под капотом, может оставить вам некоторые неэффективные запросы (общие для ORM). Так GraphQL просто ORM, который дает вам 100% -ную гибкость в том, что вы просите и получаете?

Ответ 1

GraphQL не является ORM, потому что он не понимает концепцию БД. Он просто получает данные из "источника данных", который может быть статичным, из файла и т.д. Также он не может понять, как получить данные, как только вы укажете на него источник. Вам нужно написать функции распознавателя, которые сообщают БД, как найти значение каждого поля.

Некоторые драгоценные камни/пакеты упростят некоторые из них. Некоторые из них могут быть или могут стать ORM, но сам GraphQL полностью агрегирован для источника данных платформы/данных.

Ответ 2

Нет, это не так. Имея только GraphQL, мы не можем легко получить доступ к базе данных, потому что язык, необходимый для отправки запроса, не отображается ORM.

ORM облегчает доступ к базе данных, что в некотором смысле больше похоже на создание виртуальной базы данных, к которой наш язык программирования может легко получить доступ. Затем GraphQL отправит свой запрос в эту виртуальную базу данных.

Ответ 3

Я рекомендую вам Призму. Prisma - это мощный графический ORM-слой с графическим интерфейсом с открытым исходным кодом, который делает тяжелую работу на вашем сервере GraphQL. Он превращает вашу базу данных в API GraphQL, который может использоваться вашими преобразователями посредством привязок GraphQL.