首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用parser.retrieve的CQEngine查询嵌套对象

使用parser.retrieve的CQEngine查询嵌套对象
EN

Stack Overflow用户
提问于 2021-03-01 10:34:55
回答 1查看 52关注 0票数 0

我有一个嵌套的对象,比如

代码语言:javascript
复制
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的集合

代码语言:javascript
复制
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子句对于不同的用例是动态的。

EN

回答 1

Stack Overflow用户

发布于 2021-03-03 03:56:12

您的示例比问题所需的更复杂,所以我只是略读一下。(阅读有关SSCCE的信息)

然而,通常情况下,这种事情应该是可能的。有关如何构造嵌套查询,请参阅以下相关问题/答案:Can CQEngine query an object inside another object

如果您设置了这样的属性,您应该能够在SQL查询中以及以编程方式使用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66415936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档