Я закодировал простой отношения OneToMany между Категория и Публичные лиц,JPA Hibernate OneToMany Fetching
это мой Категория Entity:
@Entity
public class Category implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private List<Visitor> visitors = new ArrayList<Visitor>();
public Category() {
}
public Category(String name) {
this.name = name;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@OneToMany(fetch = FetchType.EAGER, mappedBy = "category", orphanRemoval = true)
public List<Visitor> getVisitors() {
return visitors;
}
public void setVisitors(List<Visitor> visitors) {
this.visitors = visitors;
}
}
и это мой посетитель лицо:
@Entity
public class Visitor extends User {
private static final long serialVersionUID = 1L;
private String passport;
private String citizenship;
private String gender;
private Company company;
private Category category;
public Visitor() {
}
public Visitor(String email, String firstName, String lastName,
String country, String city, String phoneNumber, String picture,
String passport, String citizenship, String gender, Company company) {
super(email, firstName, lastName, country, city, phoneNumber, picture);
this.passport = passport;
this.citizenship = citizenship;
this.gender = gender;
this.company = company;
}
public String getPassport() {
return passport;
}
public void setPassport(String passport) {
this.passport = passport;
}
public String getCitizenship() {
return citizenship;
}
public void setCitizenship(String citizenship) {
this.citizenship = citizenship;
}
@ManyToOne(fetch = FetchType.LAZY)
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@OneToOne
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
}
Это нормально, но теперь, когда я хочу получать своих посетителей, я хочу, чтобы каждый посетитель имел полный объект категории, , но это то, что у меня есть как данные JSON:
Как я могу решить эту проблему, чтобы получить всю информацию о категории посетителей?
Из возвращенного JSON это выглядит как нет внешнего ключа в Visitor. Если у посетителя есть какой-либо внешний ключ, например category_id, вы можете указать его как @JoinColumn, и вы получите полную категорию –