Я отвечаю на свой вопрос, потому что все-таки нашел решение.Не уверен, что это хорошо, но это работает ...
Я вынул '%' из вызова репо и добавил в @Query с CONCAT () и DATE_FORMAT ().
DATE_FORMAT(cl.lastSeen, '%Y %m') LIKE CONCAT('%', DATE_FORMAT(:search, '%Y %m'), '%')
Полный запрос:
@Query( value = "SELECT cl from ConnectionLog cl WHERE cl.user.login LIKE CONCAT('%', :search, '%') OR cl.user.firstName LIKE CONCAT('%', :search, '%') OR cl.user.lastName LIKE CONCAT('%', :search, '%') OR CONCAT( cl.user.lastName, ' ', cl.user.firstName ) LIKE CONCAT('%', :search, '%') OR CONCAT( cl.user.firstName, ' ', cl.user.lastName ) LIKE CONCAT('%', :search, '%') OR DATE_FORMAT(cl.lastSeen, '%Y %m') LIKE CONCAT('%', DATE_FORMAT(:search, '%Y %m'), '%') OR cl.browser LIKE CONCAT('%', :search, '%') OR cl.operatingSystem LIKE CONCAT('%', :search, '%')")
Page<ConnectionLog> findAll(Pageable pageable, @Param("search") String search);