Yo sugeriría aprender Spring antes que Hibernate porque es mucho más fácil de aprender si te limitas al núcleo y quizás a WebMVC, que es lo que yo recomendaría. Spring ha crecido bastante en las últimas versiones, pero el núcleo sigue siendo sencillo y fácil de entender.