This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
The reason might be because everytime you call HibernateSessionFactory it is instantiating a new SessionFactory.... which is bad. But I haven't seen all your code so I could be wrong.
For examples of a DAO patterns used with Hibernate, you can check out the CaveatEmptor example, HibernateSync, and after you have an understanding of those, you might like to check out Spring's IOC container.