Criteria API и Specification API в JPA — это средства для динамического построения запросов к базе данных на языке Java, которые позволяют создавать типобезопасные и гибкие запросы без написания строк JPQL.
Лямбда-выражения в Java — это компактный способ описать анонимную функцию, которую можно передать как параметр или использовать для реализации функционального интерфейса.
В Java Stream API метод collect(Collectors.toList()) — это стандартный способ собрать элементы потока в список (List). Он возвращает новый список, содержащий все элементы потока.