What is fraught with using entityManager directly without the involvement of the DAO Layer? Some "programmers" do not use DAO and persist, merge and select directly with entityManager. Saying what is the point of creating a DAO for simple CRUD operations. The answer is that if the base changes the answer - I just change the entity manager.