The project I am taking part in uses spring with hibernate for data access. We are trying to design the project according to common patterns. We have Transfer Objects (with hibernate and ejb3 edr1 annotations for schema generation), Data Access Objects interfaces and implementations of those using hibernate as lower layer data access (as in jpetstore dao and dao.ibatis). We have defined Service interfaces and implementations of those (like jpetstore's domain.logic), which use more than one DAO interface in a DAO-implementation independent fasion. One of the questions that arised is the following: Should we use solely the Service interfaces for data access, or both Services and DAO's? Former would mean that most of DAO's methods should be "proxied" through respective service methods.
Thanks in advance,