Oriol Boan wrote:
I also wish some brief advice about whether I may start working with Spring and / or Hibernate when I've always had enough and been very successful with JSF and JPA, so what advantages I will find if I try Spring and Hibernate (over using JSF and JPA).
Like Ahmad said, Spring and Hibernate are not replacement to JSF and JPA, unless you want to replace JSF with Spring MVC.
Let's break down your question into two parts,
(1)
Spring MVC vs JSF
This is widely discussed topic on the internet, Google search would yield more results. I found one nice
Link (little outdated but good)
Spring-MVC is MVC2 type based on request and response model similar to HTTP applications and JSF is an event based model.
Spring MVC is gaining more ground recently. If it is a new project then Spring MVC will have advantage to integrate with Spring and Hibernate easily.
If you have an existing application and want to use Spring MVC, you can still combine JSF (just for View) with Spring MVC's Controllers.
(2) Instead of seperating
JPA and Hibernate, take advantage of combining together and unleash the power of two.
JPA is from Sun, this is very popular and lightweight framework to overcome all the difficulties encountered with EJB2.
One nice feature it has is Annotations (avoids lengthy deployment descriptors) and can be used outside of the container. And it has nice feature of plugging-in third-party persistence providers such as Hibernate.
Mostly, people do not use the JPA API alone to work with persisted objects, rather, JPA annotations are only used to define the ORM mappings. JPA here is very trivial.
By using standard JPA annotations to markup a set of POJOs and then persist the POJOs by configuring Spring to use the Hibernate.