Sobes.tech
Back to questions
Junior — Middle
60

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

Companies where asked
eRaga Infosystem

Answer from AI

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) и поведение при удалении.