Как запросить Apache Ignite с помощью предложения IN - PullRequest
0 голосов
/ 13 сентября 2018

Я создал схему в Apache Ignite следующим образом:

---------------------------------------------
EmpId | EmpName | HomeZip | OfficeZip| Dept |
---------------------------------------------
1     | Sam     | 98123   | 98123    |  A   |
---------------------------------------------
2     | Jack    |  98123  | 98123    |  B   |
---------------------------------------------
3     | John    |  98124  | 98123    |  A   |
---------------------------------------------
4     | Kim     | 98124   | 98123    |  C   |
---------------------------------------------

Как мне выполнить следующие запросы:

  • Найти все детали сотрудников в отделе А.
  • Найти все данные о сотрудниках, чей homeZip такой же, как OfficeZip.

Как я могу сделать это, используя SQLQuery и сопоставить ответ с классом Model

class Employee{
  private Integer empId;
  private String empName;
  private String homeZip;
  private String officeZip;
  private String dept;
}

Я пытался сделать запрос следующим образом, но для меня были ошибки:

//For finding out employee in list of departments
SqlQuery sql = new SqlQuery(Employee.class, "dept in (?)).setArgs(deptList);
//For finding out employee with same zip for office and home:
SqlQuery sql = new SqlQuery(Employee.class, "homeZip = officeZip");

1 Ответ

0 голосов
/ 17 сентября 2018

Перешел по ссылке: https://apacheignite -sql.readme.io / docs / performance-and-debugging # sql-performance-and-usability-камень

    SqlFieldsQuery sql = new SqlFieldsQuery(
                    "select e.* from Employee e join table(dept varchar = ?) d on e.dept = d.dept")
                   .setArgs(new Object[]{deptList.toArray()});
...