1. Use a DAO,DAOFactory implementation using plain JDBC ? The petstore example uses this ...but its prior EJB 3 though ...
Given productivity gains, ease of use, etc.
you should have a very good reason for not using ORM. I would not suggest using plain JDBC.
2. Leave this open to the developers who'll develop this..Just mention to use some caching mechanism ...
In my opinion, this needs to be part of the architecture & cannot be left to the developer.