findCategoryByName (String name) возможное решение (лямбда-выражение показывает ошибку)? - Весенний ботинок - PullRequest
0 голосов
/ 20 марта 2019

У меня есть две сущности со связями «многие ко многим» («Продукт», «Категория»), все, что я хочу сделать, - это иметь в контроллере метод, который будет возвращать мне все продукты по некоторому названию категории. У меня есть два репозитория (расширяет CrudRepository) и два сервиса для обоих классов, и у меня есть ProductController.

ProductServiceImpl.java

ProductServiceImpl.java

Я пытался реализовать его в CategoryService, как:

CategoryServiceImpl.java

А затем вызвать этот метод в реализации ProductService, чтобы я мог вернуть все продукты с соответствующими именами, но лямбда-выражение не позволяет мне ни возвращать объект категории, ни назначать его другому объекту категории, какие-либо предложения?

1 Ответ

0 голосов
/ 20 марта 2019

Это потому, что вы не можете изменять внешние переменные внутри лямбды (они должны быть, по крайней мере, эффективно окончательными, см. this ).

В качестве обходного пути вы можете заменить forEach() обычным циклом for или расширенным для цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...