【发布时间】:2014-03-04 04:03:03
【问题描述】:
在寻找 java 库以与数据库无关的方式构建查询时,我遇到了很多,包括 iciql、querydsl、jooq、joist、hibernate 等。
我想要一些不需要配置文件并且可以使用动态模式的东西。 对于我的应用程序,我会在运行时了解数据库和架构,因此我不会有任何配置文件或架构的域类。
这似乎是 querydsl 的核心目标之一,但通过 querydsl 的文档,我看到了很多使用域类构建动态查询的示例,但我没有遇到任何解释如何构建此类数据库不可知查询的内容仅使用我拥有的有关架构的动态信息。
Jooq 提供了这样的功能(请参阅:http://www.jooq.org/doc/3.2/manual/getting-started/use-cases/jooq-as-a-standalone-sql-builder/),但如果我想将注意力扩展到 Oracle 或 MS SQL(我可能不喜欢但需要支持),那么它有一个限制性许可。
有querydsl经验的人可以告诉我querydsl是否可以做这样的事情,如果可以,如何做。
如果有人知道其他可以满足我的要求的,将不胜感激。
【问题讨论】:
-
jOOQ 用户使用您描述的用例过度使用了 jOOQ,因此这是一个得到很好支持的场景。
-
谢谢卢卡斯。我知道 jOOQ 支持这一点。我想看看这是否可以用 querydsl 完成,因为它似乎拥有它所需的主干,而 jOOQ 需要获得许可才能添加对主要商业数据库(如 Oracle、MS SQL 和 Sybase)的支持,而我无法做到。
标签: java sql jooq querydsl database-agnostic