powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JPA, получение данных в нехранимый класс
6 сообщений из 6, страница 1 из 1
JPA, получение данных в нехранимый класс
    #36872580
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый ()!!!

Есть запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd
from table1 a
       left join (select b.id,count(b.num_id) as total
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010'
                   group by b.id
                  ) xxx on xxx.id=a.id
       left join (select b.id,count(b.num_id) as fd
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010' and b.num_source= 1 
                   group by b.id
                  ) xxx2 on xxx2.id=a.id
       left join (select b.id,count(b.num_id) as rd
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010' and b.num_source= 2 
                   group by b.id
                  ) xxx3 on xxx3.id=a.id
order by a.id
Например:
где table1 - человек, table2 - платежи и они могут быть из разных источников num_source = 1 или 2 и тд и тп. Необходимо подсчитать общее кол-во (total) и сколько из них fd и rd. Запрос работает правильно, я проверял. Но теперь мне надо вывести этот набор перед пользователем на страницу с использованием JPA.
Если бы это был Entity bean, то проблем не возникает, а бегать по листу и считать кол-во не айс!!! ((( Вычитал что можно как то с помощью аннотации SqlResultSetMapping и Transient , но кааааак, я так и не понял!!! (((
Тут получается, что надо вернуть List<MyClass>. Сначало пробовал создать его и вернуть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  MyClass  implements  Serializable {
      private   int  id;
      private   int  id;
      private   int  id;
      private   int  id;
      private   int  id;
     ........
}

...............

List<MyClass> dmList =  new  ArrayList<MyClass>();
dmList = query.getResultList();
...............

Но hibernate мне сказал, что то типа "Unknown Entity class MyClass"

Возможно ли такое или можно др способами!!!??? Спасибо!!!
...
Рейтинг: 0 / 0
JPA, получение данных в нехранимый класс
    #36872584
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НиколахаДобрый ()!!!

Есть запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd
from table1 a
       left join (select b.id,count(b.num_id) as total
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010'
                   group by b.id
                  ) xxx on xxx.id=a.id
       left join (select b.id,count(b.num_id) as fd
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010' and b.num_source= 1 
                   group by b.id
                  ) xxx2 on xxx2.id=a.id
       left join (select b.id,count(b.num_id) as rd
                   from table2 b
                   where b.b_control is  null  and b.b_date<='01.01.2010' and b.num_source= 2 
                   group by b.id
                  ) xxx3 on xxx3.id=a.id
order by a.id
Например:
где table1 - человек, table2 - платежи и они могут быть из разных источников num_source = 1 или 2 и тд и тп. Необходимо подсчитать общее кол-во (total) и сколько из них fd и rd. Запрос работает правильно, я проверял. Но теперь мне надо вывести этот набор перед пользователем на страницу с использованием JPA.
Если бы это был Entity bean, то проблем не возникает, а бегать по листу и считать кол-во не айс!!! ((( Вычитал что можно как то с помощью аннотации SqlResultSetMapping и Transient , но кааааак, я так и не понял!!! (((
Тут получается, что надо вернуть List<MyClass>. Сначало пробовал создать его и вернуть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  MyClass  implements  Serializable {
      private   int  id;
      private  String name;
      private   int  total;
      private   int  fd;
      private   int  rd;
     ........
}

...............

List<MyClass> dmList =  new  ArrayList<MyClass>();
dmList = query.getResultList();
...............

Но hibernate мне сказал, что то типа "Unknown Entity class MyClass"

Возможно ли такое или можно др способами!!!??? Спасибо!!!

Блин, нечайно нажал!!! )))
...
Рейтинг: 0 / 0
JPA, получение данных в нехранимый класс
    #36872740
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
м?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
String q1 = "select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd ..."
Query q2 = em.createNativeQuery(q1)
List<Object[]> l1 = q2.getResultList()
List<MyClass> l2 =  new  List(l.size)
 for  each Object[] o in l1 {
  MyClass m =  new  MyClass
  m.id = o[ 0 ]
  ...
  m.rd = o[x]

  l2.add(m)
}
...
Рейтинг: 0 / 0
JPA, получение данных в нехранимый класс
    #36873489
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grasoff.netм?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
String q1 = "select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd ..."
Query q2 = em.createNativeQuery(q1)
List<Object[]> l1 = q2.getResultList()
List<MyClass> l2 =  new  List(l.size)
 for  each Object[] o in l1 {
  MyClass m =  new  MyClass
  m.id = o[ 0 ]
  ...
  m.rd = o[x]

  l2.add(m)
}


Мдаааааа.... как не догадался!? Оказалось просто. Спасибо!!! Вопрос решен!!!
...
Рейтинг: 0 / 0
JPA, получение данных в нехранимый класс
    #36915503
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

У меня почему-то не получается сделать точно так, как посоветовал grasoff.net ..

либо

String q1 = "select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd ..."
Query q2 = em.createNativeQuery(q1, "SqlResultSetMapping.Name")
List<MyClass> l2 = new List(l.size)
for( Object o : q2.getResultList() )
{
Object[] a = (Object[]) o ;
...
}

где SqlResultSetMapping.Name - имя SqlResultSetMapping-аннотации, описывающей возвращаемый набор

либо

String q1 = "select a.id,a.name,xxx.total,xxx2.fd,xxx3.rd ..."
Query q2 = em.createNativeQuery( q1)
List<MyClass> l2 = new List(l.size)
for( Object o : q2.getResultList() )
{
Vector a = (Vector) o ;
...
}

второй вариант Object[] понимать не хочет..
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
JPA, получение данных в нехранимый класс
    #38394963
yuriuss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В третей строке надо написать ArrayList вместо List...
Код: java
1.
List<MyClass> l2 = new ArrayList(l.size)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JPA, получение данных в нехранимый класс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]