【问题标题】:Netflix DGS with JPA带有 JPA 的 Netflix DGS
【发布时间】:2021-06-22 15:40:51
【问题描述】:

我一直在使用 Netflix GraphQL 框架 DGS。使用 codegen 插件,我可以直接从模式生成模型类。

我的问题是如何为这些生成的类添加持久性。我是否只是将注释添加到生成的类中,在这种情况下,如果重新生成类,它们不会被删除吗?还是为 JPA 创建另一组类并在这两组类之间进行映射?

【问题讨论】:

    标签: spring-boot jpa spring-data-jpa netflix-dgs


    【解决方案1】:

    您应该问自己的第一个问题是,JPA 模型是否真的是您希望通过 GraphQL API 公开的内容。对于简单的用例,这可能没问题,但通常最好将两个模型分开。

    根据您如何回答上述问题,有三个选项:

    1. GraphQL 和 JPA 模型应该分开;这意味着您需要在代码中映射类。 (有些库可能会有所帮助)。

    2. JPA 模型确实是您希望在 API 中公开的内容。手动创建 JPA 类并在数据提取器中使用它们。不要费心使用模式中的 codegen,因为您的数据库现在是您的模型。

    3. 作为获得上述第二个选项的捷径,您可以进行一次性生成,将生成的代码复制到源目录中,然后从那里手动管理类。

    虽然工作量更大,但我通常会推荐选项 1。

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 2023-02-02
      • 2021-12-23
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多