gpt4 book ai didi

java - 是否可以在没有生成查询类型的情况下使用 Querydsl?

转载 作者:搜寻专家 更新时间:2023-10-31 20:04:00 24 4
gpt4 key购买 nike

例如,可以在没有生成元模型的情况下使用 JPA Criteria API。类型安全性丢失,但我可以在运行时仅使用反射而无需先验数据模型知识的情况下创建查询。我想以同样的方式使用 Querydsl。我不关心类型安全,因为我根本不知道数据模型。

在我最近的项目中,我想使用 Querydsl,主要是因为它构成了持久性之上的另一层。因此,我希望可以对 JPA、JDO、JDBC、Lucene、Hibernate Search、MongoDB、Collections 和 RDFBean 使用相同的查询

或者是否有任何可以按照描述的方式使用的 Querydsl 替代品?

由于 NoSQL 数据库正在兴起。是否有任何其他框架在各种持久性提供者之上构成类似的抽象层?

最佳答案

有两种方法可以在没有生成元模型的情况下使用 Querydsl。

第一种方法是手动构建表达式 http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch03.html#d0e1379

第二个是使用 Querydsl 的别名功能 http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch02s07.html

Querydsl 查询共享公共(public)接口(interface)并且看起来很相似,但是您不能直接对不同的持久性类型使用相同的查询,因为 Querydsl 不提供任何跨模块的查询抽象。

可以共享查询的各个部分,例如谓词或投影,但查询与特定模块相关联。

您可以做的是坚持使用一种常见的持久性抽象 JPA 或 JDO,并通过它们使用 RDBMS、OODB 和 NoSQL 引擎。

关于java - 是否可以在没有生成查询类型的情况下使用 Querydsl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15135572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com