Hibernate study notes (detailed explanation)