2017-09-13 3 views
0

Disons que nous avons un Person avec un Id: String, name: String. Ensuite, dans une autre classe, nous avons Map<String, Person> qui détient les personnes par Id.
Ma question Est-ce que la personne devrait détenir cet ID? Ou maintenant, le propriétaire de l'ID est la carte elle-même. PS: Notez en utilisant la carte pour des raisons de performance, mais parce que cela fait sens pour la modélisation.Lors du mappage par ID. Qui est le propriétaire de l'Id

+0

J'étais pressé de l'écrire, ma mauvaise :). En identifiant un ID, je veux dire qui en est responsable. En termes simples, si j'ai une carte est-ce que la personne devrait toujours contenir le PersonId? – Mehdi

+0

Je ne sais pas pourquoi vous avez dit la base de données, je n'en ai pas parlé. Et dans tous les cas, la base de données ne possède pas les données, elle les stocke uniquement. – Mehdi

Répondre

1

La Personne est une entité, elle a un Id, donc oui, elle devrait le contenir.

Cela ne me semble pas logique de modéliser cela encore par une carte dans une classe différente, je devrais mieux comprendre votre modèle pour pouvoir commenter cela. Sauf si PersonId est et non l'élément d'identité du modèle Person. S'il s'agissait en fait d'une entité différente, alors Person devrait avoir son propre Id, et PersonId aurait un Id différent et séparé ... Peu importe, le modèle est plutôt incomplet, et il est vraiment difficile de faire des recommandations.

Si c'est juste le cas évident, et que PersonId est l'identifiant de la personne, alors votre carte est juste un index, ce qui est également correct, mais ne fait pas vraiment partie du modèle.

+0

Rend le sens. Donc je pense une conclusion, cela dépend du cas d'utilisation. – Mehdi