如何使用IN子句查询ApacheIgnite [英] How to query Apache Ignite using IN clause

查看:0
本文介绍了如何使用IN子句查询ApacheIgnite的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在ApacheIgnite中创建了一个架构,如下所示:

---------------------------------------------
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   |
---------------------------------------------

如何执行以下查询:

  • 查找A部门员工的所有详细信息
  • 查找其home Zip与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");

推荐答案

跟随链接:https://apacheignite-sql.readme.io/docs/performance-and-debugging#sql-performance-and-usability-considerations

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

这篇关于如何使用IN子句查询ApacheIgnite的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆