У меня есть два объекта базы данных: Forum и Topic.
Topic имеет член данных protected long forumId, что указывает, конечно, на форум Topic.
Мой вопрос в том, какую аннотацию использовать для этого элемента данных?
Ответ 1
Как форум имеет много тем, а тема принадлежит к одному и только форуму, вы, вероятно, захотите пойти с атрибутом типа Forum, аннотированным с помощью @ManyToOne:
@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;
Как и другие ответили -
Вы должны использовать аннотации ManyToOne и JoinColumn.
Готов иметь в виду, что, поскольку JPA относится к ORM - реляционному сопоставлению объектов,
Вы должны ссылаться на другой объект, как вы бы сделали "естественно" в Java - например, через объект, а не через его идентификатор (который является forumId) в вашем случае),
Это было одним из проектных соображений между отношениями в JPA и Hibernate (ранее в JPA).
Ответ 3
@ManyToOne
Как видно из аннотации - у вас много тем для форума