What should I learn first, Spring or Hibernate? [closed] What should I learn first, Spring or Hibernate? [closed] spring spring

What should I learn first, Spring or Hibernate? [closed]


I'd suggest learning Spring. Learn just the basics, and then when you do come to learn Hibernate you'll be able to take advantage of all the Spring helpers which make Hibernate easier to use.

There's also the point that Spring is useful in many layers instead of just at the data access part :)


Spring and Hibernate are 2 very complimentary technologies and depending on the needs you may use both, either or none. But the fundamentals both of these frameworks rely upon are 100% marketable and more importantly are required for any seasoned professional.

There is little value in learning Hibernate without first obtaining fundamental knowledge on relational data modeling, relational database design, and transaction processing. So these should be your pre-requisites for Hibernate.

There is little value in learning Spring without first obtaining fundamental knowledge on design patterns, dependency injection, and application design (as general as it sounds you need to understand things like application tiers, class and package dependencies, MVC (sounds like you are familiar with this one via Struts), security and web standards, and of course fundamentals of OOD).

By learning both you will become if not marketable but at least very solid professional who is confident and comfortable in working on majority of Java (and not just Java) applications.


I think Hibernate is fairly easy and straighforward to get basic usage skills in, and perhaps more importantly, the EJB3 is becoming a standard.

Spring is an external technology, not part of J2EE officially, so it might make sense to do it second, it also has a lot more facets and you really want a good book for it.