java - provienen - jpa mapeo
JPA: anotaciĆ³n de clave externa (3)
Tengo dos entidades de base de datos: Forum
y Topic
.
Topic
ha protected long forumId
miembro de los datos de protected long forumId
, lo que indica, por supuesto, el foro del Topic
.
Mi pregunta es ¿qué anotación usar para este miembro de datos?
Como el Foro tiene muchos temas y un tema pertenece a uno solo, es probable que desee ir con un atributo de tipo Foro anotado con @ManyToOne
:
@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;
Ver más:
Como otros han respondido:
Debe usar las anotaciones JoinColumn
y JoinColumn
.
Tenga en cuenta que, dado que JPA se trata de ORM - Mapeo relacional de objetos,
Debe hacer referencia a otro objeto como lo habría hecho "naturalmente" en Java, es decir, a través de un objeto y no a través de su identificador (que es forumId) en su caso),
Esta fue una de las consideraciones de diseño entre las relaciones en JPA e Hibernate (anteriormente a JPA).
@ManyToOne
Como lo indica la anotación, tiene muchos temas por foro