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.