First I learned Hibernate. Used groovy to try out different Hibernate examples. Then learned Spring and its Hibernate support. I think I had a really interesting journey.
Here is an example of Struts+Spring+Hibernate application. Struts for front-end, Spring for middle layer and JPA/Hibernate for persistence layer.
http://struts.apache.org/2.0.11/docs/struts-2-spring-2-jpa-ajax.html