J'ai des difficultés à mettre en œuvre GraphQL dans un projet java dans le cadre de sa mise à jour. J'essaie de connecter une entité (qui utilise l'ORM Hibernate pour se connecter à différentes bases de données) à un GraphQLObjectType. Avez-vous des suggestions sur la manière d'y parvenir ? Puis-je omettre les configurations de la base de données GraphQL si c'est le cas ?
Réponses
Trop de publicités?
kaqqao
Points
872
Il y a plusieurs options ici.
- Il est probablement préférable de ne pas mettre en correspondance une entité directement. Les entités sont des représentations directes de la base de données et, en tant que telles, ne devraient probablement pas être exposées directement, mais plutôt enveloppées dans des DTO (permettant peut-être la pagination, l'aplatissement des relations, ou tout ce qui est approprié).
- Si vous avez simplement besoin de faire correspondre la classe (entité ou non) à un fichier de type
GraphQLObjectType
, graphql-java-annotations est la voie la plus simple (et la plus limitée) - Si vous souhaitez exposer l'ensemble du graphe d'entités via GraphQL, graphql-jpa pourrait être votre meilleure option (comme Sriram suggère ), car il est destiné à faire exactement cela, tout en ajoutant la pagination, l'agrégation et le tri.
- Si vous voulez exposer automatiquement non seulement une classe d'entité/DTO, mais aussi les opérations sur celle-ci (par exemple, une classe de service arbitraire), regardez à graphql-spqr (Je suis l'auteur de ce projet)
Sriram
Points
897