Foros del Web » Programación para mayores de 30 ;) » Java »

Duda de eficiencia de createQuery en JPA

Estas en el tema de Duda de eficiencia de createQuery en JPA en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/08/2011, 15:17
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 13 años, 2 meses
Puntos: 29
Duda de eficiencia de createQuery en JPA

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.

Etiquetas: eficiencia, jpa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.