Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/08/2009, 10:58
elkamote
 
Fecha de Ingreso: agosto-2009
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: JSF, EJB3 consulta con mas de 1000 registros

Puedes crear una nueva "NamedQuery" en donde reflejes la relación.

Por ejemplo:

Código:
@NamedQuery(name = "Usuario.Sample", query = "SELECT u.nombre, p.paisNom FROM Usuario u, Pais p WHERE u.direccion = :direccion AND u.idpais = p.idpais")

.
Ten en cuenta que en las "NamedQuery" el modelo que se consulta es el de objetos y no el relacional (las tablas) Esto significa que debes usar los nombres de las entidades jpa en las consultas "sql" y siempre dar un "alias" a las tablas (ejemplo: ... FROM Usuario u, Pais p .... ) Esto se debe a que el pseudonimo representa una instancia de la entidad.

No conozco cómo invocar el namedQuery desde JSF, pero en un EJB seria algo asi:

Código:
@PersistenceContext(unitName = "DB_PU")
private EntityManager em;
...
Query query = em.createNamedQuery("Usuario.sample");
query.setParameter(1, "direccion");
Collection<Object> resultados = query.getResultList();
...
Espero sirva...
Saludos.