【问题标题】:Can assign Child for Parent in Query DSL?可以在查询 DSL 中为父级分配子级吗?
【发布时间】:2021-10-20 05:19:04
【问题描述】:

有 QParent、QChild1 和 QChild2 我尝试使用 QParent 而不是每个孩子。

包含所有谓词的类

class Filter {
        private QParent query;

        public Filter(QParent query) {
            this.query = query;
        }

       BooleanExpression getPredicates(String name) {
          name == null ? null : query.name.eq(name);
          return query.isNotNull().and(name);
    }
}

然后我发送一个孩子作为过滤器构造函数的参数

  childOneRepo.findAll(new Filter(QChild1.child1).getPredicates("test name"));

但是new Filter(QChild1.child1) 给我一个错误。

虽然 child1 和 child2 扩展了父类。

【问题讨论】:

    标签: java spring-boot querydsl


    【解决方案1】:

    虽然实体相互扩展,但查询类型不会。相反,您应该使用new Filter(QChild1.child1._super)

    【讨论】:

    • Thanx Jan-Willem Gmelig Meyling 我想我尝试了这个解决方案,但如果好的话让我再测试一次,这样它就会被接受。
    • 谢谢,它已经工作了。请检查这个问题,它阻碍了我。 stackoverflow.com/questions/69286170/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2021-11-18
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多