Покупать не советую, всё есть в открытом доступе лутше всего туториалы и паралельно писать код , если надо могу дать ссылки на бесплатные хорошие как для начинающих так и для продвинутых!
По книгам очень трудно так как не всё расказывается и на практике обычно много дополнительного узнаёте ..
1. Обязан пройти его курс для начинающего :
courses.caveofprogramming.com (Java For Complete Beginners)
2. Работа с базой данных не пожалей цену на его курс по MySql (самый лутший в сети)
3. Мультипоточность (шикарно объясняет) тот же сайт!
4. JDBC - Желательно узнать до продвинутой J2EE! Servlets(Есть на том же сайте) до Энтерпрайза джавы обязан!
5. Закрепи проектом и только после двигайся в Advanced! Spring/JPA/Hibernate (EJB отложи на последок мож вообше не понадобится после того как со спрингом и перечислиным разберешся!)
6. Spring -
https://javabrains.io/topics/spring
7.Hibernate/JPA -
rutracker.org/forum/tracker.php?f=1565&nm=Hibernate (скачай)!
Книги оставь, есть Github, набирай в поиске тема которая нужна и найдеш проекты после чего просматривай код и пытайся понять , перекатывай к себе на среду разработки. Без книг!