Comment ajouter une map & lt; String, Person & gt; dans une classe d'entités?
Je veux ajouter un mappage comme
Map<String, Person> personMap;
à l'intérieur d'une classe d'entité, où Person
est l'entité. Le Map
est d'identifier précisément les Person
correspondant à la String
(que ce soit un surnom de la personne). La même personne peut avoir des noms différents et à chaque fois que le nom est donné, le même Person
doit être trouvé.
Persistance API utilisée est JPA et le fournisseur est EclipseLink. Ce annotation dois-je utiliser et comment?
source d'informationauteur Naveed S
Vous devez vous connecter pour publier un commentaire.
Conformément à l'article 2.7 de la JSR-317, si la valeur de la Carte est une entité (ce qui est ton cas) une table de jointure est créé, puis un OneToMany /ManyToOne annotation doit être utilisé.
Comme pour la clé, si c'est un Type de Base, l' @MapKeyColumn peut être utilisé pour personnaliser le mappage de colonne de la clé. Voici donc mon point de vue sur votre exemple:
ÉDITÉ:
Après quelques tests, la suite semble fonctionner assez bien:
Ci-dessus génère une table de jointure avec trois champs: un pour la cartographie titulaire id, l'un pour la clé et une valeur.