Видел много примеров, но все еще не совсем понимаю, в каких случаях пишется эта аннотация. Вот допустим у нас сущности User
и Book
, между ними отношения OneToMany
в User
и ManyToOne
в Books
соответственно. Так вот, я прочитал, что @JoinColumn
использует та сущность, которая в этих отношениях является "главной", а та сущность, которая не несет ответственности, помечается как mappedBy
.
Допустим у нас есть два класс-сущности:
@Entity
@Table (name="users")
public class Person
{
private String name;
@OneToOne (optional=false, cascade=CascadeType.ALL)
@JoinColumn (name="passport_id")
private Passport passport;
}
@Entity
@Table (name="passports")
public class Passport
{
private String series;
private String number;
@OneToOne (optional=false, mappedBy="passport")
private Person owner;
}
Этот пример я увидел в одной статье. Какой из этих классов является главным, по отношению к другому? И что вообще значит главный?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пишу калькулятор, в который можно вбивать математические выражения любой длины, после чего пользователь нажимает клавишу "=" и калькулятор...
Пример : на факультете 5 кафедр, где
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском