У меня есть таблица с названием products и таблица сопоставления related_products, которая поддерживает отношения родитель-потомок между продуктами, например, товар SKU_ID 1 имеет похожие товары 2 и 3.
products
+-----------------+
|SKU_ID | name |
+-----------------+
| 1 | Blah
| 2 | Blah2 |
| 3 | Blah3 |
+-----------------+
related_products
+---------+------------+
|SKU_ID_1 | SKU_ID_2 |
+---------+------------+
| 1 | 2 |
| 1 | 3 |
| 3 | 2 |
+---------+------------+
ORM Ассоциации:
Отношения OneToMany между products.SKU_ID и related_products.SKU_ID_1
Отношения OneToOne между related_products.SKU_ID_2 и products.SKU_ID
Это прекрасно работает в моем приложении, но когда я смотрю на возвращенные объекты, я вижу, что из-за циклического характера отношений кажется, что я возвращаю слишком много данных. Пример: если я получу все связанные продукты, принадлежащие продукту SKU_ID = 1, я получу продукты 2 и 3, как и ожидалось. Из этих объектов я могу также получить их связанные продукты, затем связанные продукты их связанных продуктов и так далее, и так далее.
Это проблема? и если да, то как я могу ограничить «глубину» возвращаемых ассоциаций? или я сделал отображение неправильно в первую очередь?