Nasir,
Here some thoughts:
1.
This depends of you approach of how you are gonna use Hibernate.
If you will use a layered architecture (see also
http://www.hibernate.org/124.html) than you will use Hibernate just as you use any ordinary API. In you service/business layer you have to take care of transactions etc.
But if you want to automatically open en close connections (when needed!) for each request than you will have a complete different things to think of!
2.
I don't understand what you mean. Why not using Hibernate to select/retrieve the data? Why use more than 1 technique? You will just make you project more complex.
On the other hand * if you want to* you can use any technique available to retrieve data from a database.
3.
If you have a good design this will make if more easy to set up the mappings and configuration. In other words: if you have a good design which states exactly what you want to do, and you have experience with mappings and configurations these tasks should take less time then the design itself.