170 похожих чатов

Ребята, которые без орм пишут, а есть ли какой-то способ

смаппить связь one-to-many на структуру или всегда необходимо делать доп.запрос? с помощью sqlx какого-нибудь или какой-либо другой либы

type User Struct {
Id int64
Name string
Posts []Post // one to many
}

26 ответов

10 просмотров

вы определитесь, вам нужен ОРМ или нет. Потому что то, чего вы хотите - это основной функционал ОРМ и есть

Ilya- Автор вопроса
Владимир Гришин
вы определитесь, вам нужен ОРМ или нет. Потому что...

в целом для моих задач ОРМ как правило избыточен, но иногда необходимо написать метод, возвращающий, например, пользователя и список его адресов. после большого кол-во времени использования ОРМ в других языках, первое, что приходит на ум - как раз подход ОРМ))

Ilya
в целом для моих задач ОРМ как правило избыточен, ...

посмотрите все же в сторону gorm, это скорее query builder, чем прямо ОРМ, скорее всего, вам зайдет

Ilya
в целом для моих задач ОРМ как правило избыточен, ...

вообще забавно. в ряде случаев люди приходят к мысли. что их задачи орм уже не тащит. (селекты)

Ilya- Автор вопроса
мιlιтѕĸa
вообще забавно. в ряде случаев люди приходят к м...

так тут одно из двух: либо твои задачи слишком простые для того, чтобы использовать орм (какой-нибудь простой селект с маршалингом в структуру), либо слишком сложные (34575934857 джоинов)

Ilya
так тут одно из двух: либо твои задачи слишком про...

Что плохого в ОРМ при сложном запросе, если с ним билдер справляется? Никакого оверхеда то на создание запроса нет.

то что вам нужно называется eager loading и ORM именно делает обычно несколько запросов

Dmitry 🦆
Что плохого в ОРМ при сложном запросе, если с ним ...

когда джойнов прям оч много обычным sql проще

мιlιтѕĸa
когда джойнов прям оч много обычным sql проще

Это потом поддерживать надо. Мне приятнее, когда инструмент при рефакторинге связывает элементы запроса с кодом. Вот на порядки приятнее)

Ilya- Автор вопроса
c
то что вам нужно называется eager loading и ORM им...

последнее понимаю. но не понимаю смысла использования орм в таком случае, если либы вроде sqlx с маппингом в структуры справляется. ради queryBuilder’а?

Ilya
последнее понимаю. но не понимаю смысла использова...

sqlx не сходит за вас в таблицы, если одна часть структуры лежит в одной таблице, а другая в другой

Ilya- Автор вопроса
c
sqlx не сходит за вас в таблицы, если одна часть с...

если между таблицами есть связь - то можно сделать так, что сходит, нет? если это, конечно, не one-to-many, как я описывал ранее

c
sqlx не сходит за вас в таблицы, если одна часть с...

То есть если я хочу писать sql руками, но чтобы структуры сами мапились в джоинах, мне придётся тащить gorm или на каждый запрос делать свой тип и руками джойнить данные в коде?

Nikita Krasnikov
Загугли sqlc и не парься

Ну это кодогенерация, такого тоже хотелось бы избежать

Ilya
если между таблицами есть связь - то можно сделать...

sqlx маппит строки в структуры это все что он делает

Михаил Макарычев
Ну это кодогенерация, такого тоже хотелось бы избе...

Лол, это наоборот прекрасно, руками ниче делать не надо

Nikita Krasnikov
Лол, это наоборот прекрасно, руками ниче делать не...

Есть что-то внутри меня, что отталкивает кодогенерацию. Отчасти из-за того, что я только погружаюсь в го, поэтому этот механизм мне чужд

Михаил Макарычев
Да уж придётся, видимо

У меня доклад недавно был на эту тему https://youtu.be/jkKwtNOR8C0

Emil Sharifullin
У меня доклад недавно был на эту тему https://yout...

Блин, Контур тоже на го пишет? Там же шарписты раньше были (

Михаил Макарычев
Блин, Контур тоже на го пишет? Там же шарписты ран...

Я в контуре на го пишу практически один) Кстати, ко мне в команду в Казани нужен разработчик)

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Карта сайта