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