2009-08-23 2 views
2

Selon the Wikipedia article mapping objet relationnel:Wikipedia est-il incorrect pour dire qu'un ORM ne fait que traduire et pas nécessairement transférer des données?

est une technique de programmation pour conversion de données entre les systèmes de type incompatibles dans les bases de données relationnelles et orienté objet programmation langues

Je pensais un ORM aussi pris soin de transférer les données entre l'application et la base de données. Est-ce que ce n'est pas nécessairement vrai?

EDIT: Après avoir lu les réponses, je ne sais pas s'il est possible de choisir une réponse définitivement correcte à cette question, peut-être parce qu'elle est subjective dans une certaine mesure. D'une part, il est vrai que l'ORM ne peut en soi effectuer le transfert de données mais plutôt JDBC ou une autre technologie similaire. D'un autre côté, l'ORM est l'acteur responsable de la délégation de cette tâche à JDBC et, pour cette raison, peut être considéré comme étant «en charge» du transfert.

Répondre

3

L'article fait référence à la notion de mapping objet relationnel, plutôt que tout logiciel mise en œuvre de celui-ci, comme Hibernate, ce qui ne fait ce que vous avez mentionné (peut-être déléguer le travail à d'autres mécanismes). De toute façon, c'est une encyclopédie collaborative, vous pouvez donc toujours modifier cet article si vous pensez que vous pouvez le rendre plus clair.

+0

"déléguer le travail à d'autres mécanismes" - bien dit !! vous avez identifié le problème que je vois avec la réponse de Rob H qui se concentre sur JDBC en tant qu'agent indépendant. Je vois comme vous, que l'ORM est en charge du transfert des données, déléguant à JDBC pour faire ses enchères. – mihai

3

Le transfert de données est généralement géré par un mécanisme de niveau inférieur tel que JDBC en Java.

+1

N'est-ce pas comme dire qu'une voiture n'effectue pas de transport mais utilise ses roues pour gérer cela? – mihai

+0

Non. C'est comme si dire qu'une voiture ne procure pas une douceur de roulement, la route le fait. JDBC ne fait pas partie d'ORM. C'est une technologie distincte dont dépend ORM. –

+0

En ce qui concerne l'ORM, JDBC est un utilitaire tout comme l'électricité est un utilitaire. Donc, même si JDBC est responsable des rouages ​​du transfert de données, l'ORM, en tant qu'agent chargé d'invoquer cet utilitaire pour faire ses enchères, est vraiment "en charge" du processus de transfert. Au moins c'est comme ça que je le vois. – mihai