JPA Query.getResultList() Percorrer registros

Amigos, gerei uma list através do seguinte método:
public List liberadas(int Str_empresa) {
return manager.createQuery("SELECT em, le from gs_empresa em LEFT JOIN em.Listgs_usuario le WHERE le.Usr_IdUsuario =:IdUsuario ")
.setParameter(“IdUsuario”, Str_empresa)
.getResultList();
}

Estou tentando pegar os dados, porém quando executo
for (int linha = 0; linha < todasEmpresasLiberadas.size(); linha++) {

dentro tem um object e não estou sabendo passar desse ponto.

desde já obrigado

Oi Ednis.

Como você está retornando em e le que são dois objetos diferentes, o JPA juntará todos os registros em um vetor de objetos.

Uma dúvida: o inteiro Str_empresa representa o id do usuário?

Pela sua consulta parece que você quer consultar todas as empresas que possuem um determinado usuário. Dentro da classe gs_empresa tem uma lista de gs_usuario, acredito que se você devolver apenas “em” já teria sua resposta.

Tenta fazer isso:

public List<gs_empresa> liberadas(int Str_empresa) {
return manager.createQuery("SELECT em from gs_empresa em LEFT JOIN em.Listgs_usuario le WHERE le.Usr_IdUsuario =:IdUsuario ")
.setParameter("IdUsuario", Str_empresa)
.getResultList();
}

Assim esse método devolve apenas a lista de empresas, e você pode percorrer ela com o for:

for(gs_empresa emp : todasEmpresasLiberadas) {
  //lógica do seu for
}

Sugestão: Tenta seguir as boas práticas para o desenvolvimento em Java, por exemplo: não declare as classes como gs_empresa ou gs_usuario, prefira GsEmpresa e GsUsuario ou apenas Empresa e Usuario; não declare variáveis como Str_empresa, o correto seria strEmpresa, mas por começar com str parece que é uma String, mas é guardada no tipo int e você usa para compara com o id do usuário, então o melhor seria chamar de idUsuario.

Acho que é isso ai, testa para ver se funciona e qualquer coisa vai postando aqui.

Abraços.

Rafael,
Muito obrigado pela ajuda foi muito claro suas explicações e me ajudaram muito, vou colocar em pratica seus comentários.
Realmente Str_empresa estava errado pois era o id do usuário.
quanto a consulta só me ficou a duvida no caso se eu precisar também pegar o nome do usuário.

Obrigado
Abraço.