In this development, we use the framework springside3 + zk. This focus on the springside3 use.
ss3 dao layer for a good package, almost no additional ways to write anything, just call the service layer on it. I developed when, for some operations such as query operations based on the two properties separately in the dao to write a method which is called directly in the service layer which, there are differences. My approach is to write a dao method separately, resulting in dao layer changes. Another problem is that the team colleagues for the dao package approach simply does not see, the primary key for the query according to the method also in separate dao write again. Resulting in the latter part of a modified operation will zk, action, service, dao of all changes. Will be a problem when checking in action -> service -> dao layers look down.
Next I was thinking that, dao only provide a generic method, no new method, called the query only in the service layer method in the dao.
Also, in the service, action of some commonly used methods in the package, call the page using "convention is greater than the configuration" approach to reduce the amount of coding. It means reducing the chance of mistakes.
Of course, for individual operations or to be treated differently, not across the board!
Well before development of the team technical training, training for ss3 little one, lazy team members to avoid problems.