2012-06-21 2 views
2

Мне нужно сделать этот запрос с Java + Hibernate.Объединить таблицы hibernate + group

SELECT 
    table2.id, 
    COUNT(table2.id) AS count 
FROM 
    table1 
    JOIN table2 
     ON table1.fk_tb2 = table2.id --many2one 
GROUP BY 
    table2.id 

Я использовал бы отдельный класс Criteria ..... как я могу это сделать?

ответ

2

Попробуйте использовать проекции, как это:

Criteria table1Crit = session.createCriteria("table1"); 
Criteria table2Crit = table1Crit.createCriteria("table2", Criteria.INNER_JOIN); 
table2Crit.setProjection(Property.forName("id").count()); 
+0

отмечают, что DetachedCriteria имеет те же возможности. – Matt

-3

использовать запрос с createNativeQuery методом

+2

это противоречило бы целям использования спящего режима, если вы прибегли к родным запросам для такой простой вещи. – Matt

+0

ну найдите ответ и дайте мне знать. –

+1

Я отправил ответ. – Matt

Смежные вопросы