将java实体映射到GraphQL对象

ele*_*ova 6 java hibernate graphql graphql-java

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

kaq*_*qao 8

这里有多种选择.

  • 最好不要直接映射实体.实体是DB的直接表示,因此,可能不应直接暴露,而是包含在DTO中(可能允许分页,扁平化关系或任何适当的).
  • 如果你只需要将类(实体与否)映射到a GraphQLObjectType,graphql-java-annotations是最简单的(也是最有限的)路由
  • 如果你想通过GraphQL公开整个实体图,graphql-jpa可能是你最好的选择(正如Sriram建议的那样),因为它打算做到这一点,同时还增加了分页,聚合和排序
  • 如果您不仅要自动公开实体/ DTO类,还要自动公开它上面的操作(例如任意服务类),请查看graphql-spqr(我是该项目的作者)


Sri*_*ram 1

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

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