HQL: левое внешнее соединение в подзапросе - PullRequest
1 голос
/ 14 декабря 2010

Предположим, у меня есть 2 таблицы mysql:

create table tableA (
   id bigint not null auto_increment,
   name varchar(255), 
   primary key (id)
);


create table tableB (
   id bigint not null auto_increment,
   title varchar(255), 
   big_data longtext,
   tableA_id bigint,
   primary key (id)
);

И соответствующие спящие сущности:

public class A {
private String name;
private List<B> list;
}
public class B {
private String title;
private String data;
private A a;
} 

У меня есть следующий SQL:

select a.id, count(b.id) 
from tableA as a left outer join 
    (select id, title, tableA_id from tableB) as b on a.id = b.tableA_id 
group by a.id;

Как я могу преобразовать его в HQL?

ПОЖАЛУЙСТА, НЕ ОПТИМИЗИРУЙТЕ ЗАПРОС! Я бы хотел иметь HQL, который будет генерировать именно этот SQL. Даже если это не оптимально.

...