Tengo una duda respecto a realizar una búsqueda en una base de datos usando JPA.
Imaginad que tengo una clase llamada Empleado, el cual tiene una lista de tareas. Para obtener las tareas (clase Tarea) del empleado con dni=1 (dni es la primary key) podría hacer lo siguiente:
EntityManager em = emf.createEntityManager();
...
Query q = em.createQuery(select E.tareas from Empleado E where E.dni='1');
List<Tarea> tareas = q.getResultList();
La segunda opción sería obtener el empleado y luego hacer que devuelva las tareas:
Empleado e = em.find(Empleado.class, 1);
List<Tarea> tareas = e.getTareas();
Si hablamos de eficiencia, en qué se diferenciarían? Entiendo que de la segunda forma me estoy trayendo todo el objeto empleado cuando solo necesito la lista de tareas, pero además de eso hay algo más?
Un saludo.