Sobes.tech
Junior — Middle
81

Каким образом можно установить отношения между сущностями при использовании JPA?

Компании, где спрашивали
eRaga Infosystem

Ответ от нейросети

sobes.tech AI

В JPA отношения между сущностями устанавливаются с помощью аннотаций, которые описывают тип связи и поведение при загрузке и каскадных операциях. Основные типы отношений:

  • @OneToOne — один к одному
  • @OneToMany — один ко многим
  • @ManyToOne — многие к одному
  • @ManyToMany — многие ко многим

Пример установки отношения "один ко многим":

@Entity
public class Author {
    @Id
    private Long id;

    @OneToMany(mappedBy = "author", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    private List<Book> books;
}

@Entity
public class Book {
    @Id
    private Long id;

    @ManyToOne
    @JoinColumn(name = "author_id")
    private Author author;
}

Здесь Author имеет список книг, а каждая Book ссылается на автора. Аннотация mappedBy указывает, что владеющей стороной является Book.

Также можно настраивать каскадные операции (cascade), стратегию загрузки (fetch) и поведение при удалении.