Best practices for Spring ORM and transaction module in an application