Преобразовать необработанный объект класса в определенный объект класса - PullRequest
4 голосов
/ 19 января 2012

Я работаю над Hibernate и Spring. Я разработал метод, который возвращает тип List.Когда я запрашиваю базу данных, используя hibernate, она создает объект определенного типа.Я хочу перебрать список объектов необработанного типа и распечатать свойство объекта.

Здесь я прикрепил свой метод

public List getAnalyticsbyid(String userId)
{
    Session session=sessionFactory.openSession();
    String querystring="SELECT DISTINCT bounces ,visits, landingPagePath  FROM AnalyticsDataFeedBean where userId='"+userId+"' ORDER BY bounces DESC";
    Query query=session.createQuery(querystring).addEntity(AnalyticsDataFeedBean.class);
    query.setMaxResults(10);
    return query.list();
}

1 Ответ

1 голос
/ 19 января 2012

Ваш HQL-запрос возвращает List<Object[]>, вы можете изменить сигнатуру метода на

public List<Object[]> getAnalyticsbyid(String userId)

И в том месте, где этот метод вызывается, переберите список и распечатайте детали

List<Object[]> list = getAnalyticsbyid("user");
for (Object[] objects : list) {
    for (Object object : objects) {
        System.out.print(object);
        System.out.print("\t");
    }
    System.out.println();
}

Если вы хотите отобразить его в виде таблицы в файле jsp, начните со следующего фрагмента

<table>
        <tr>
            <th>bounces</th>
            <th>visits</th>
            <th>landingPagePath</th>
        </tr>

    <c:forEach items="${analytics}" var="objects">
        <tr>
            <c:forEach items="${objects}" var="object">
                <td><c:out value="${object}"/></td>
            </c:forEach>
        </tr>
    </c:forEach>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...