Во-первых: какой список представляет ваш результат "companyList"? По вашему запросу вы получаете список списков и должны сказать
companyList.get(i).get(0) // for name
companyList.get(i).get(1) // for location
Для более легкого использования вы можете также приложить больше усилий вначале. Тогда вы можете иметь практичную объектно-ориентированную структуру.
Для этого используйте своего рода DTO (объект передачи данных), класс которого может выглядеть следующим образом:
class CompanyDTO{
public CompanyDTO(String name, String location){
this.name = name;
this.location = location;
}
private String name;
private String location;
public String getName(){
return this.name;
}
public String getLocation(){
return this.location;
}
}
Тогда вы можете сказать в своем запросе:
select new CompanyDTO (s.name, s.location)
from B b, A s
where b.bPK.id_A = s.id_A and b.PK.id_C= :idEvent
Тогда вы можете сказать:
List<CompanyDTO> companyList = queryGetCompany.getResultList();
и позже получите все имена и местоположения по
for (CompanyDTO company : companyList){
System.out.print(company.getName() + ", ");
System.out.println(company.getLocation());
}
или другие List-операции. Вы получите каждое DTO из Списка и сможете вызывать get-Methods для этих объектов.