JPA uses lazy loading by default. This is a good thing, but you'll run into problems when trying to use lazy loading remotely. Let me first explain the scenario. Say you have an EJB3 service layer that uses JPA to retrieve objects from the database...