I guess the goal behind all the additional layers and abstractions is that you can at some point in the future change one layer and the others remain intact.Having never seen this happen, I agree completely that using a more direct approach is much simpler, gives faster and cheaper results - but for the life of me I will never use JDBC direct - use an ORM except for the reports - where custom SQL is