¡Hola Natalia!
Es una buena pregunta. En algunos casos, un GROUP BY CATEGORIA_ID puede ser una solución más simple para resolver el problema de las query N + 1. Sin embargo, hay situaciones en las que esta solución puede no ser la mejor opción.
Por ejemplo, si la tabla de productos contiene muchos registros y la columna de categoría no está indexada, el GROUP BY puede ser muy costoso en términos de rendimiento. Además, si la consulta devuelve muchos registros, el GROUP BY puede generar una gran cantidad de datos redundantes que deben ser procesados por la aplicación.
En cambio, la solución que se presenta en el video utiliza un INNER JOIN y un STREAM para obtener los mismos resultados sin generar redundancias innecesarias. Además, al quitar el producto controller, se mejora la separación de responsabilidades y se hace que el código sea más fácil de mantener.
En resumen, el GROUP BY CATEGORIA_ID puede ser una solución viable en algunos casos, pero en otros casos, la solución presentada en el video puede ser más eficiente y escalable.
Espero haber ayudado y buenos estudios!