【发布时间】:2019-08-30 13:23:03
【问题描述】:
我的应用程序中的实体类如下。
@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
}
在上述实体类中。我有两种情况:
一对多关系用户有很多电话号码(电话号码列表)
多对一关系多个电话号码属于一个用户
我需要双向获取数据。我如何编写 user.graphqls 和 phonenumber.graphqls 文件来表示这些实体和 graphqlseolvers。我无法获取数据。我遇到了以下异常
类型 java.util.Set 不能映射到 GraphQL 类型!由于 GraphQL-Java 在运行时处理已擦除的类型,因此只有非参数化类可以表示 GraphQL 类型。
这允许通过接口和联合类型中的 java 类进行反向查找。
【问题讨论】:
标签: java spring-boot spring-data-jpa graphql