9 Добавление нового контроллера и эндпоинта. Mapstruct ManytoOne & OneToMany

preview_player
Показать описание
В этом видео мы добавим новый controller и endpoint для entity, которая отображает изучаемое слово. А также добавим mapping используя mapstruct (OneToMany и ManyToOne)
Рекомендации по теме
Комментарии
Автор

спасибо! у MapStruct настройка красивее, чем у ModelMapper, да и по производительности MapStruct выигрывает

ДимаГоликов-сш
Автор

Что если объект модели не сходится так просто со структурой бд? Создавать DTO для работы с бд, и другой DTO для представления в ui? В таком случае мы будем помечать как @entity уже не классы модели, а классы dto для БД?

В моём случае объекты в структуре дерева ходов игры, узлы имеют ссылки на parent и childs.
Так вот в бд хранится весь путь от корня к узлу в колонках (player1move1, player2move2, player1move2, player2move2 и тд ...). Дерево ограничено по высоте, на всё хватает 64 колонки.
Такая бд не нормализована, есть избыточность, но таковы требования. (Кстати, к каждому узлу дерева ещё прикреплён объект из другой таблицы)

Не добавлять же все эти 64 колонки предков в модель? Или есть какой-то способ красиво их маппить в колонки? Там лист предков собирается рекурсивно
P.S. На самом деле каждый move это аж 3 колонки: тип, value, ratio. Поэтому в реальности колонок 64*3
И я попробовал вс это сделать, добавил кучу embedded объектов move, прописал каждому для 3 параметров колонки, но это сильно засоряет модель.

maestro
Автор

Can you add source of code on Github ??? It will help me a lot.

piotrekpiotr