src/main/java/ofouro/code/graphql/demo/model/Talk.java
package ofouro.code.graphql.demo.model; import lombok.AllArgsConstructor;import lombok.Data;import lombok.EqualsAndHashCode;import lombok.NoArgsConstructor;import org.hibernate.annotations.Fetch;import org.hibernate.annotations.FetchMode; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.ManyToMany;import java.util.ArrayList;import java.util.List; @Entity@Data@NoArgsConstructor@AllArgsConstructor@EqualsAndHashCode(callSuper = false, exclude = {"speakers", "conferences"})public class Talk extends BaseEntity { private String title; @Column(columnDefinition = "TEXT") private String summary; @ManyToMany(fetch = FetchType.EAGER) @Fetch(value = FetchMode.SUBSELECT) private List<Person> speakers = new ArrayList<>(); @ManyToMany(fetch = FetchType.EAGER) @Fetch(value = FetchMode.SUBSELECT) private List<Conference> conferences = new ArrayList<>(); }