Spring boot 具有JPA的Netflix DGS

Spring boot 具有JPA的Netflix DGS,spring-boot,jpa,spring-data-jpa,netflix-dgs,Spring Boot,Jpa,Spring Data Jpa,Netflix Dgs,我一直在使用Netflix GraphQL框架。使用codegen插件,我可以直接从模式生成模型类 我的问题是如何向这些生成的类添加持久性。我是否只是将注释添加到生成的类中,在这种情况下,如果重新生成类,它们不会被删除?还是为JPA创建另一组类并在这两组类之间映射?您应该问自己的第一个问题是JPA模型是否真的是您希望通过GraphQL API公开的。对于简单的用例,这是可以的,但通常最好将两个模型分开 根据您回答上述问题的方式,有三种选择: GraphQL和JPA模型应该分开;这意味着您需要在代

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


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

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

根据您回答上述问题的方式,有三种选择:

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

  • JPA模型确实是您想要在API中公开的。手动创建JPA类并在数据获取程序中使用这些类。不要麻烦使用模式中的codegen,因为您的数据库现在就是您的模型

  • 作为进入上面第二个选项的快捷方式,您可以一次性生成,将生成的代码复制到源目录中,然后从那里手动管理类

  • 虽然这需要更多的工作,但我通常会推荐选项1