【问题标题】:QueryDSL: generate "S" classes from JPA entitiesQueryDSL:从 JPA 实体生成“S”类
【发布时间】:2018-06-03 01:36:06
【问题描述】:

QueryDSL 看起来不错,但是有没有办法从现有的 JPA 模型生成“S”类用于 SQL 查询?

我看到您可以使用 com.querydsl.apt.jpa.JPAAnnotationProcessor 来生成“Q”类,并且您必须连接到数据库才能生成“S”类。但是由于所有元数据信息(表、列)都可以在 JPA 实体中找到,这应该足以生成“S”类,不是吗?

这样做的目的:不依赖于不可靠的数据库模式......并在 JPA 不可用的辅助项目中使用 QueryDSL。

谢谢。

【问题讨论】:

  • 为什么需要 S 类?
  • 我目前拥有的:Java 中的 JPA 项目(J2EE、应用服务器、等等等等),以及 Spark 中的一些 scala 作业。我想在 Spark 作业中用 SQL 提出一些非常小的请求,因此我不想在其中采用 JPA 实现。我认为我不能在“Q”类上使用 querydsl-sql。但是这个“Q”类,在 Java 项目中,应该被认为是一个参考。因此,从 JPA 模型或 Q 类生成“S”类会很棒。
  • 我明白了。不,这不起作用,因为它不适用于此用例。为什么你有“不可靠”的数据库架构?
  • 好的,我明白了。问题是这是一个正在进行的项目,有很多修改(而 JPA 项目是主导模式修改的项目)。而且我想避免将密码放在 pom.xml 中只是为了创建模型。但我想我会这样做,并在提交之前删除密码。
  • 你也应该看看jooq.org

标签: querydsl


【解决方案1】:

根据 Simon 的说法(顺便说一句,谢谢),这是不可能的。我将坚持对模式进行逆向工程的传统方式(谁知道呢,如果我有空闲时间,我会尝试从 jpa 模型生成 S 类)。

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 2013-01-31
    • 1970-01-01
    • 2011-06-09
    • 2012-12-06
    • 2019-05-31
    • 1970-01-01
    • 2017-05-06
    • 2016-08-01
    相关资源
    最近更新 更多