powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / select folder,count(doc) from Folder where doc.name like ? group by folder
9 сообщений из 9, страница 1 из 1
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786406
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две сущности

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Folder {
    @Id
    Integer id;
    @OneToMany
    List<Doc> listDoc;
}

class Doc{
    @Id
    Integer id;
    String name;
}



Doc связан с Folder через промежуточную таблицу (допустим folder_doc)
Возможно ли создать запрос Hibernate createQuery типа такого
Код: plsql
1.
select folder,count(doc) from Folder where doc.name like ? group by folder
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786425
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob1970,

а что мешает попробовать?
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786600
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DDiver,
проблема как обратиться в createQuery() к полям Doc из listDoc из Folder.
Folder.listDoc.name не прокатывает.
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786642
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bob1970DDiver,
проблема как обратиться в createQuery() к полям Doc из listDoc из Folder.
Folder.listDoc.name не прокатывает.
Можно, например, создать сущность ListDoc. Запрос несколько усложнится, зато можно обратиться listDoc.doc, lisDoc.folder.
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786643
YamahaR1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786650
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Santex78Можно, например, создать сущность ListDoc.
Точнее не listDoc а listedDoc, в общем связанную с упомянутой таблицей folder_doc.
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786660
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YamahaR1,

setParameterList это обработка sql выражения IN. У меня другое. Есть сущность Folder, в ней список Doc, имеющие имена. Вот мне и надо, как-бы из Folder через List обратиться к элементам списка.
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38786678
bob1970
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На чистом SQL ,будет так

Код: plsql
1.
2.
3.
4.
select f.id,count(d.id) 
from folder f,folder_doc fd,doc d
where f.id=fd.folder_id and fd.doc_id=d.id
group by f.id



а как на HQL?
...
Рейтинг: 0 / 0
select folder,count(doc) from Folder where doc.name like ? group by folder
    #38788090
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bob1970На чистом SQL ,будет так

Код: plsql
1.
2.
3.
4.
select f.id,count(d.id) 
from folder f,folder_doc fd,doc d
where f.id=fd.folder_id and fd.doc_id=d.id
group by f.id



а как на HQL?

Точно также, только вам понадобится третья сущность:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@Entity
@Table(name="FOLDER_DOC")
@IdClass(FolderDocId.class)
public class FolderDoc{
   @Id
   @Column(name="folder_id")
   private long folderId

   @Id
   @Column(name="doc_id")
   private long docId

}



тогда

Код: jpql
1.
2.
3.
4.
select f.id,count(d.id) 
from Folder f, FolderDoc i, Doc d 
where f.id=i.folderId and i.docId=d.id
group by f.id
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / select folder,count(doc) from Folder where doc.name like ? group by folder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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