Если хорошо знаешь коллекции, можешь приступать у Spring. А ещё учи SQL. А ещё Stream API. Ну и многопоточку, хотя бы на уровне понимания.
Я бы не советовал "выучить всю Java" до уровня сдачи экзамена у Oracle и только потом приступать к фреймворкам. Надо так:
база -> вширь -> влубь -> вширь -> вглубь -> вспомнил что забыл -> вширь...
С SQL так: учишь
основу, потом соединяешь с Java (делаешь простые примеры на JDBC), потом делаешь примеры на Hibernate, потом соединяешь всё в Spring. Делая проекты на Spring ты чаще всего будешь использовать Spring Data JPA (по сути Hibernate), но имея перед собой свои же примеры ты легко напишешь хитрый метод, который эффективно вытащит данные через JDBC. Или будет маленький проектик без Spring. Или в консоли полазать с ручными запросами. Но опять же, не стоит учить "весь SQL полностью". Хорошо понял JOIN - можешь приступать к Hibernate и Spring Data JPA. Потом будешь добирать чего не хватает, тебе будет легче т.к. имея опыт, ты будешь понимать что спрашивать у Яндекса и не будешь падать в обморок от вида кода на StackOverFlow :)