I've been reading some of the discussions on this particular forum.
Consider me a newbie when it comes to these frameworks.....
I just started a new project and wish to know what the difference is between Hibernate, Spring, and TopLink? I know that Hibernate and TopLink (Oracle) are for object relational mapping (ORM), but what about Spring?
Should someone use these frameworks instead of EJB 2.0 or EJB 2.1?
Can they be incorporated into any app server (EJB Container)?
Hibernate and TopLink are direct competitors. They both do object/relational mapping.
EJB combines together a bunch of things: ORM, declarative transaction management, declarative security, distributed transactions, etc.
One of the ideas behind Spring is rather than forcing you to take that entire bunch of stuff, build a framework in which you can integrate whatever facilities you need, and pick the implementation you want. Thus with Spring you can easily use Hibernate, Toplink, or whatever for you ORM. You can also use Hibernate or Toplink with EJB, but it's a little awkward to do so.