We will now create classes that use JPA APIs to manage data for our course management application. We will create service classes for Course, Teacher, and Student entities and add methods that directly access the database through JPA APIs.
As mentioned in the JPA concepts section, it is a good practice to cache an instance of EntityManagerFactory in our application. Furthermore, managed beans of JSF act as a link between the UI and the backend code, and as a conduit to transfer data between the UI and the data access objects. Therefore, they must have an instance of the data access objects (which use JPA to access data from the database). To cache an instance of EntityManagerFactory, we will create another managed ...