Я новичок в jpa, поэтому, пожалуйста, не будьте строги со мной.Может быть, мой вопрос глупый.Но.Я не совсем понимаю, как работать с двусторонними отношениями.Например, у меня есть следующие классы:
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Book {
@Id
@SequenceGenerator(name = "book_id_seq_gen", sequenceName = "book_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "book_id_seq_gen")
private long id;
private String name;
private int year;
@ManyToOne
private Writer writer;
private String description;
private int downloadNumber;
@ManyToMany
@JoinTable(name = "book_genre",
joinColumns = @JoinColumn(name = "book_id"),
inverseJoinColumns = @JoinColumn(name = "genre_id")
)
private Set<Genre> genres;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Writer {
@Id
@SequenceGenerator(name = "writer_id_seq_gen", sequenceName = "writer_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "writer_id_seq_gen")
private long id;
@NotNull(message = "Name cannot be null")
@Length(min = 1, max = 100)
private String name;
@NotNull(message = "Surname cannot be null")
@Length(min = 1, max = 100)
private String surname;
private String description;
@OneToMany(mappedBy = "writer")
private List<Book> books;
}
Я работаю с REST, поэтому, когда я пытаюсь вернуть объект обратно, я получаю цикл.Хорошо, я исправил это с помощью аннотаций для JSON.Но.Когда я просто пытаюсь работать с коллекцией книг писателя, я получаю цикл.Я не могу работать с коллекцией, и я не могу работать с писателем.Так как с этим вообще работать?