7

作为更新它的一部分,我很难在 java 项目中实现 GraphQL。我正在尝试将实体(使用 Hibernate ORM 映射到不同的数据库)连接到 GraphQLObjectType 。有什么建议我怎么能做到这一点?如果可以,我可以省略 GraphQL 数据库配置吗?

4

2 回答 2

11

这里有多种选择。

  • 最好不要直接映射实体。实体是数据库的直接表示,因此可能不应该直接公开,而是包装到 DTO 中(可能允许分页、展平关系或任何适当的)。
  • 如果您只需要将类(实体与否)映射到 a GraphQLObjectTypegraphql-java-annotations是最简单(也是最有限)的路线(首先检查这个项目的状态,它处于中断状态一段时间)
  • 如果您想通过 GraphQL 公开整个实体图,graphql-jpa可能是您最好的选择(正如Sriram 建议的那样),因为它旨在做到这一点,同时还添加分页、聚合和排序
  • 如果您不仅想自动公开实体/DTO 类,还想自动公开对它的操作(例如任意服务类),请查看graphql-spqr(我是该项目的作者)
于 2017-05-29T09:11:03.913 回答
1

如果您已经使用 JPA/Hibernate 定义了实体,请尝试以下操作:

https://github.com/jcrygier/graphql-jpa

于 2017-04-28T23:27:18.030 回答