Я новичок в Java, и у меня проблема с отображением данных из списка объектов. У меня есть простой метод, который должен собирать данные из нескольких таблиц и возвращать их моему контроллеру:
public List<Object> getHouseInfo(){
Query q = em.createNativeQuery("SELECT houses.id, addresses.country, addresses.region, house_details.rooms, house_details.square FROM houses, addresses, house_details");
List<Object> myList = q.getResultList();
return myList;}
Теперь я хочу получить эти данные в контроллере, но я не знаю, как получить отдельные результаты из списка. Я пробовал сделать что-то вроде этого:
List<Object> list = getHouseInfo();
for (int i=0; i<list.size; i++){
System.out.println("Element "+i+list.get(0));}
, но получаю только ссылки на эти объекты (например [Ljava.lang.Object; @ 167a47b). Я тоже пробовал использовать Iterator, но результат тот же. Я пробовал использовать такой код:
List<Object> list = getHouseInfo();
for (int i=0; i<list.size; i++){
System.out.println("Element "+i+list.get(0)[0]);}
, но он мне тоже не помогает - это заканчивается ошибкой компиляции.
Может кто-нибудь сказать мне, как получить 'id' (целочисленное значение) из этого списка? Я использую MyFaces в своем 'View', где у меня есть такой код (houseControll - это имя моего JSF Managed Bean - контроллера):
<t:dataList id="myDataList" value="#{houseControll.fullOffer}" var="element" rows="3" >
...
<t:outputText id="houseId" value="#{element[0]}"/>
...
</t:dataList>
этот код правильно показывает значение 'id' - у меня 1,2 , 3, ... значения. Как я могу получить такой же результат на своем контроллере? Как распечатать данные в контроллере?