2016-05-06 16 views
1

setから値を照会することは可能ですか?例えば、Apache ignite query from set

public class Employee implements Serializable { 
    /** Person ID (indexed). */ 
    @QuerySqlField(index = true) 
    private long id; 

    /** Department ID (indexed). */ 
    @QuerySqlField(index = true) 
    private Set deptIds; 

    /** First name (not-indexed). */ 
    @QuerySqlField 
    private String firstName; 

    /** Last name (not indexed). */ 
    @QuerySqlField 
    private String lastName; 

} 

は今、私は1つの特定の部門のすべての従業員を取得したいです。

答えて

1

スキャンクエリでは可能ですが、SQLクエリでは不可能です。

SQLクエリを使用しているようです。この場合、リレーショナルデータベースの観点から考える必要があります。 EmployeeとDepartmentの間に多対多の関係があるため、ジャンクションテーブルを追加する必要があります。

public class EmployeeDepartment implements Serializable { 
    /** Person ID (indexed). */ 
    @QuerySqlField(index = true) 
    private long personId; 

    /** Department ID (indexed). */ 
    @QuerySqlField(index = true) 
    private long deptId; 
} 

その後、特定の部門の従業員を見つけるために3者結合を実行できます。

+0

返信ありがとうございます、私は質問で火を吹くことができるようにインデックスと一緒にリストとセットのサポートを持つAerospikeの代替を探しています。 Igniteは索引付け可能な主オブジェクトの一部としてList/Setをサポートしていないようです。 –