我有一个嵌套的对象,比如
public class SQSMessage implements Serializable {
private String type;
private boolean isEntity;
private String eventType;
private SystemInfo systemInfo;
private DomainAttributes domainAttributes;
@Data
public static class SystemInfo implements Serializable {
private String identifier;
private String ownedBy;
private Payload payload;
private EntityTags entityTags;
private long createdOn;
private String createdBy;
private long version;
private long lastUpdatedOn;
private String lastUpdatedBy;
private String attrEncKeyName;
@Data
public static class Payload implements Serializable {
private String bucketName;
private String objName;
private String encKeyName;
private byte[] payloadBytes;
private byte[] decryptedBytes;
private byte[] sanitizedBytes;
}
@Data
public static class EntityTags implements Serializable {
private List<Tag> tags;
@Data
public static class Tag implements Serializable {
private String tagName;
private String tagValue;
}
}
}
@Data
public static class DomainAttributes implements Serializable {
private String updatedByAuthId;
private String saveType;
private String docName;
private String ceDataType;
private String year;
private String appId;
private String formSetId;
private String appSku;
private String deviceId;
private String deviceName;
}
}我想通过应用这样的过滤器来查询SQSObjects的集合
ResultSet<SQSMessage> results = parser.retrieve(indexedSQSMessage, "SELECT * FROM indexedSQSMessage WHERE type='income' and DomainAttributes.saveType in ('endSession', 'cancelled')or (DomainAttributes.countryCode is null or DomainAttributes.countryCode='US'");使用CQEngine可以吗?如果是..请把例子发给我。
我想把它做成sql的原因是...where子句对于不同的用例是动态的。
发布于 2021-03-03 03:56:12
您的示例比问题所需的更复杂,所以我只是略读一下。(阅读有关SSCCE的信息)
然而,通常情况下,这种事情应该是可能的。有关如何构造嵌套查询,请参阅以下相关问题/答案:Can CQEngine query an object inside another object
如果您设置了这样的属性,您应该能够在SQL查询中以及以编程方式使用它们。
https://stackoverflow.com/questions/66415936
复制相似问题