переход в спящий режим без классов pojo

#java #hibernate

#java #спящий режим

Вопрос:

Я извлекаю список объектов из session.CreateSQLQuery(). Я не создавал для него никаких классов pojo, потому что я не хочу, чтобы этот объект содержал 2 переменные, я хочу получить эти переменные, которые я могу

Мой код

     session = sessionfactory.openSession() ;

    query = session.createSQLQuery("select id from A_Cleanup") ;
    List Ids =  query.list() ;
    for (Iterator iterator = Ids.iterator(); iterator.hasNext(); iterator.next()){
        query = session.createSQLQuery("select distinct rec_category, a_id from a_cdr where a_id in (select id from alerts where al_id = :aid)")
                .setParameter("aid", Long.parseLong(Ids.get(0).toString())) ;
        java.util.List result = query.list() ;
        System.out.println("printing class object"  result.get(0).getClass()) ;

    }
    session.close() ;
  

Вопрос:

result.get(0) — это объект, содержащий значение rec_category и a_id. Как я могу получить эти переменные?

Ответ №1:

result.get(0) Возвращает значение an Object[] (в данном случае с 2 элементами). Поэтому сначала приведите его к Object[] , затем извлеките каждый элемент отдельно и приведите их к соответствующим типам.

 Object[] foo = (Object[]) result.get(0);
System.out.println(foo[0]   " and "   foo[1]); // Then cast each one to their real types
  

Комментарии:

1. Как я могу получить каждый из них после приведения object []?

2. Конечно, вы знаете, как работать с массивами. Если нет, то довольно странно, что вы будете работать с гибернацией.