Lazy loading just means that data isn't loaded until it is needed. Say a doctor has 5000 patients. If you want information about the doctor, like his name and phone number, should the application also load all 5000 patient records? Of course not. So, while there is an association, you want that association loaded in a lazy fashion, so your database doesn't come to a crawl. However, with lazy loading, when one of those patient records is needed, it will be loaded, but only that one record.
Here are a variety of free tutorials and Hibernate example code for you to go through. There are lots of complete Hibernate and JPA code examples that you ask for:
http://www.hiberbook.com/HiberBookWeb/learn.jsp?tutorial=17mappingonetooneassociations
Lazy loading really becomes applicable when you have objects that are associated with each other, so you might want to look at the sections on mapping associations with Hibernate and JPA.