Подтвердить что ты не робот

JPA: аннотация внешнего ключа

У меня есть два объекта базы данных: Forum и Topic.

Topic имеет член данных protected long forumId, что указывает, конечно, на форум Topic.

Мой вопрос в том, какую аннотацию использовать для этого элемента данных?

4b9b3361

Ответ 1

Как форум имеет много тем, а тема принадлежит к одному и только форуму, вы, вероятно, захотите пойти с атрибутом типа Forum, аннотированным с помощью @ManyToOne:

@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;

Подробнее:

ManyToOne и Отображение JPA

Ответ 2

Как и другие ответили -
Вы должны использовать аннотации ManyToOne и JoinColumn.
Готов иметь в виду, что, поскольку JPA относится к ORM - реляционному сопоставлению объектов,
Вы должны ссылаться на другой объект, как вы бы сделали "естественно" в Java - например, через объект, а не через его идентификатор (который является forumId) в вашем случае),
 Это было одним из проектных соображений между отношениями в JPA и Hibernate (ранее в JPA).

Ответ 3

@ManyToOne Как видно из аннотации - у вас много тем для форума