Вопрос о присоединении к OJB ReportQuery

#sql #join #criteria #ojb

#sql #Присоединиться #критерии #ojb

Вопрос:

Даны три таблицы:

 People: {Person_Id, Age}

Accounts: {Account_Id, Person_Id, Account_Type}

Age_Ranges: {Age_Range_Id, Age_Range_Label, Lower_Bound, Upper_Bound}
  

Я пытаюсь представить следующий SQL-запрос, используя OJB (не прибегая к QueryBySQL):

 select ar.Age_Range_Label, count(a.Account_Id)
from People p
inner join Accounts a on p.Person_Id = a.Person_Id
inner join Age_Ranges ar on p.Age between ar.Lower_bound and ar.Upper_Bound
where a.Account_Type = 'Chequing'
  

Код Java, который у меня есть до сих пор, выглядит следующим образом:

 Criteria criteria = new Criteria();
criteria.addEqualTo("Account_Type", "Chequing");

// join on Age_Ranges based on the person's Age
criteria.???

ReportQueryByCriteria q = QueryFactory.newReportQuery(Accounts.class, criteria);
q.setAttributes(new String[] {"Age_Range_Label", "count(Account_Id)"});
q.addGroupBy("Age_Range_Label");   
... 
  

Но я не уверен, как присоединиться к таблице Age_Ranges таким образом, чтобы я мог группировать в столбце Age_Range_Label.

Есть понимание?