Explain the difference between lazy loading and eager loading in Hibernate. How do you prevent the N+1 select problem?