John Baker John Baker - 1 year ago 54
Java Question

Benefits of using Springs Transaction management vs using hibernate

I've been trying to learn spring and hibernate, and I've used a lot of examples around the net to put together a nice application. However, I realized now that Spring supports transaction management. In my spring app I just simply made whatever calls I wanted to, directly to hibernate. Is there a reason/benefit as to why people would use Spring's transaction management/db stuff?

Answer Source

The real advantages are:

  • Lightweight declarative syntax. Compare:

    public void saveEmployee(Employee e) {
        Session s = sf.getCurrentSession();    


    public void saveEmployee(Employee e) {
  • Flexible transaction propagation. Imagine that now you need to execute this saveEmployee() method as a part of a complex transaction. With manual transaction management, you need to change the method since transaction management is hard-coded. With Spring, transaction propagation works smoothly:

    public void hireEmployee(Employee e) {
  • Automatic rollback in the case of exceptions

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download