java - 如何将mongodb视图与pageable和querydsl结合起来?
问题描述
我的案例:嵌套对象的可分页和过滤(querydsl)(ObjectB
- 不是唯一的)。
简化数据结构:
@Document(collection= "ObjectA")
class ObjectA {
String id;
List<ObjectB> list;
}
class ObjectB {
String name;
}
由于其他业务决策,我不能使用@DBRef 。我尝试创建另一个名为的静态集合ObjectBView
并使用 MongoListener 对其进行更新。不幸的是,这个解决方案会导致很多额外的代码和眩晕过程。
@Document(collection= "ObjectBView")
class ObjectBView {
String objectAId;
String name;
}
我想知道如何使用 MongoDB View(未物化)来创建ObjectBView
. 我发现可以以动态方式使用MongoDatabase.createView()
和查询页面(mongoTemplate 和 PageableExecutionUtils)。不幸的是,我找不到将它与 QueryDSL 结合起来过滤数据的方法(目前在项目中使用)。QUEyDSL 需要静态存储库扩展QuerydslPredicateExecutor<T>
.
是否有任何解决方案可以创建ObjectBView
、自动更新属性ObjectA
并ObjectB
使其可分页以及过滤(QueryDSL)?
解决方案
推荐阅读
- batch-file - 复制文件夹,重命名和递增值
- java - 如何从 Java 中的文件中读取 XML 内容作为字符串
- linux - 如何使用正则表达式有效地将参数附加到多个不同的 grub 配置文件
- python - 我如何转换 . 在 PyQt5 的 QLineEdit 中输入 0。
- .htaccess - HTACCESS 将带有 www 和非 www 的子域重定向到主域上的特定页面
- angular - angular 7 HTTP请求动态表单不起作用
- python - VS Code 无法识别 Python 虚拟环境
- gulp - Hugo 在本地构建文件,但不在服务器上
- osgi - 以编程方式执行 OSGI 控制台命令
- validation - 验证和确认有什么区别?