La JPA
spécification (Java Persistence API) propose deux méthodes différentes pour spécifier les clés composites d'entité: @IdClass
et @EmbeddedId
.
J'utilise les deux annotations sur mes entités mappées, mais cela s'avère être un gros gâchis pour les personnes qui ne sont pas très familières avec JPA
.
Je souhaite adopter une seule façon de spécifier les clés composites. Lequel est vraiment le meilleur? Pourquoi?
@IdClass
même si je préfère@EmbeddedId
dans la plupart des situations ( Je dois le savoir à partir d'une session d'Antonio Goncalves. Ce qu'il a suggéré, c'est que nous pourrions utiliser le@IdClass
dans le cas où le composite la classe de clé n'est pas accessible ou provient d'un autre module ou d'un code hérité où nous ne pouvons pas ajouter d'annotation .Dans ces scénarios@IdClass
, nous allons nous donner un moyen de notre.