J'ai deux entités de base de données: Forum
et Topic
.
Topic
a protected long forumId
membre de données, qui indique bien sûr le forum de Topic
.
Ma question est quelle annotation utiliser pour ce membre de données?
Comme Forum comporte de nombreux sujets et qu'un sujet appartient à un seul et unique Forum, vous souhaiterez probablement utiliser un attribut de type Forum annoté avec @ManyToOne
:
@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;
Voir plus:
Comme d'autres l'ont répondu -
Vous devez utiliser les annotations ManyToOne
et JoinColumn
.
Gardez à l'esprit que, puisque JPA concerne ORM - Mappage relationnel d'objets,
Vous devez référencer un autre objet comme vous l'auriez fait "naturellement" dans Java - c'est-à-dire via un objet et non via son identifiant (qui est forumId) dans votre cas),
C'était l'une des considérations de conception entre les relations entre JPA et Hibernate (auparavant avec JPA).
@ManyToOne
Comme l'annotation l'indique - vous avez de nombreux sujets par forum