Qu'est-ce que le mappage Objet/relationnel(ORM) par rapport à Hiberner et de JDBC?
Quelqu'un peut m'expliquer, en termes simples, ce qui est de mappage Objet/relationnel(ORM) par rapport à Hiberner et de JDBC?
Diagrammes serait particulièrement utile pour la compréhension...
EDIT: j'ai trouvé via google pour ORM Hibernate, quelqu'un peut-il confirmer qu'il est précis et une bonne représentation de la façon dont l'ORM est utilisé.
src: http://software-carpentry.org/3_0/summary.html
OriginalL'auteur rrazd | 2011-08-15
Vous devez vous connecter pour publier un commentaire.
ORM permet d'utiliser des objets java en tant que représentation d'une base de données relationnelle. Il cartes les deux concepts (orienté objet et relationnel)
Hibernate est un ORM - vous décrire la façon dont vos objets sont représentés dans votre base de données, hibernate et gère la conversion.
JDBC est une API pour l'accès à la base, et ça marche "d'une manière relationnelle" - vous des tables de requêtes et obtenir des lignes et des colonnes. Hibernate utilise JDBC sous le capot pour extraire les données et, plus tard, le convertir en objets.
Jdbc
ResultSet
a plusieurs enregistrements, chaque enregistrement est un ensemble de colonnes. Dans hibernate cela devient deList<SomeClass>
oùSomeClass has a field for every column in the database table, and there is one instance of
SomeClass " par enregistrement de base de données.Je ne pense pas que ce sera un bon diagramme - ORM utilise des objets de bases de données utilise des tables. Droit maintenant, je ne peux pas penser à une bonne façon d'illustrer la différence graphiquement
pouvez-vous confirmer posté le pic est légitime pour l'ORM Hibernate
oui, c'est bien. Mais il doit être accompagné d'une explication textuelle.
OriginalL'auteur Bozho
Je lisais sur Hibernate et suis tombé sur ce fil. Faire plus de recherche, j'ai trouvé cette autre explication qui peut aider quelqu'un:
Framework Hibernate qui simplifie le développement d'applications java pour interagir avec la base de données. Hibernate est un open source, léger, ORM (Object Relational Mapping) de l'outil.
Un ORM outil simplifie la création de données, la manipulation des données et l'accès aux données. C'est une technique de programmation que les cartes de l'objet pour les données stockées dans la base de données.
Avantages de la mise en veille prolongée:
1) Opensource et Léger: framework Hibernate est opensource, sous licence LGPL et léger.
2) des performances Rapides: Les performances du framework hibernate est rapide, car le cache est utilisé en interne dans le framework hibernate. Il existe deux types de cache hibernate cadre de premier niveau de cache et le cache de second niveau. Premier niveau de cache est activé par défaut.
3) de Base de données Indépendant de la requête: HQL (Hibernate Query Language) est orientée objet, la version de SQL. Il génère la base de données indépendante des requêtes. Si vous n'avez pas besoin d'écrire de la base de données des requêtes spécifiques. Avant la mise en veille prolongée, Si la base de données est modifié pour le projet, nous avons besoin de modifier la requête SQL ainsi que conduit à la problématique de la maintenance.
4) Automatique la création de la table: framework Hibernate fournit la facilité de créer les tables de la base de données automatiquement. Donc, il n'est pas nécessaire de créer des tables dans la base de données manuellement.
5) Simplifie la jointure complexe: Pour extraire des données de plusieurs tables, il est facile dans le framework hibernate.
6) Fournit des statistiques de requête et de la base de données d'état: Hibernate supporte cache de Requête et de fournir des statistiques à propos de la requête et de la base de données d'état.
Informations de javatpoint
OriginalL'auteur benscabbia
En passant par votre schéma, nous avons une classe de Personne qui a des données membres : Login, Nom, Prénom et Adresse. Maintenant l'Adresse de chaque Personne objet est un objet de la classe d'Adresse.
Maintenant, regardez les tables de base de données. Nous avons une Personne de la table correspondant à la classe Personne et une table d'Adresses pour les Adresses de classe. Maintenant, il y a une relation entre ces 2 tables. La clé primaire de la table d'adresses (ID) est mappé à la clé étrangère (addr) de la table Personne. De cette façon, une relation est établie entre les deux tables.
Mais pour notre Personne et de l'Adresse de classes, nous n'avons pas une telle relation. Donc ce que nous faisons est de traiter l'adresse comme un objet distinct et ensuite les intégrer à la classe Personne. Nous sommes donc en fait un compromis avec l'orienté objet méthodologie pour correspondre à la structure relationnelle de la méthode de la table. C'est en fait une très mauvaise façon de résoudre ce problème, car il y a un écart énorme entre la façon dont nous traitons les données dans les tables et dans les classes à l'aide de l'objet.
Ce problème est abordé dans ce qu'on appelle le Mapping Objet Relationnel (ORM) où nous faisons correspondre les deux concepts de l'orienté Objet et relationnel. L'ORM permet d'utiliser des objets java en tant que représentation d'une base de données relationnelle.
Hibernate est un ORM - vous décrire la façon dont vos objets sont représentés dans votre base de données, hibernate et gère la conversion.
OriginalL'auteur Shouvik Choudhury