Напишите схему graphql, которая эквивалентна pojo/entity/class

Мой класс сущности в моем приложении выглядит следующим образом.

@Entity
public class User{
@Id
@Column(name = "userId")
Long userId;

@Column(name = "name")

@OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = cascadeType.ALL)
@JsonIgnoreProperties("user")
String name;
List<PhoneNumber> phoneNumbers;

//setters ans getters
}

@Entity
Public class PhoneNumber{
@Id
@Column
Long phoneid;

String PhoneNo;

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "userId")
@JsonIgnoreProperties("phoneNumbers")
User user;
//setters and getters
}

В вышеуказанных классах сущностей. У меня есть 2 сценария:

  1. Пользователь отношения один ко многим имел много телефонных номеров (список телефонных номеров)

  2. связь «многие к одному» многие телефонные номера принадлежат одному пользователю

Мне нужно получить данные в обоих направлениях. Как я могу написать файлы user.graphqls и phonenumber.graphqls для представления этих сущностей, а также graphqlseolvers. Я не могу получить данные. Я получил следующее исключение

Type java.util.Set cannot be mapped to a GraphQL type! Since GraphQL-Java deals with erased types at runtime, only non-Parameterized classes can represent a GraphQL type.

Это позволяет выполнять обратный поиск по классу java в интерфейсах и типах объединения.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
261
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В GraphQL вам нужно определить сущность/документ с типом. Пожалуйста, найдите ниже определения типов для вашего вопроса:

type User{
 userId :Long
 phoneNumbers :[PhoneNumber]
}

type PhoneNumber{
 phoneid :  Long
 PhoneNo  : String
 user: User
}

Другие вопросы по теме