Introduction à la session Hibernate
Il existe de nombreux langages de programmation orientés objet ayant leurs propres syntaxes et bibliothèques tandis que d'un autre côté, l'ensemble des données que nous stockons dans le backend est basé sur le modèle relationnel ayant des protocoles et des syntaxes entièrement différents à suivre. Hibernate est l'une des plates-formes middleware pour combler cette lacune. Cette application middleware, j'ai appelé Object Relational Mapping (ORM). Nous avons divers outils ORM tels que Hibernate, IBatis, Toplink et bien d'autres. Dans cet article, nous nous concentrerons sur Hibernate et ses sessions.
Qu'est-ce que Hibernate?
Il s'agit de l'outil ORM utilisé pour lier et mapper les objets de la couche d'application à la base de données du langage de programmation JAVA. Il est conçu pour gérer l'inadéquation d'impédance entre un langage de programmation typique et la base de données relationnelle. Il est gratuit et gratuit avec une licence GNU, peut être facilement téléchargé sur Internet.
Hibernate est une extension de l'API de persistance JAVA. Il prend en charge le langage Hibernate Query (HQL). Le rôle principal d'Hibernate est de lier les objets et classes JAVA aux classes de base de données via une structure XML ou des annotations JAVA. De même, les types de données de JAVA doivent être mis en correspondance avec les types de données de la base de données afin qu'il y ait une mauvaise communication entre deux systèmes différents. Hibernate peut être utilisé pour extraire les données à l'aide de requêtes. Il peut générer les appels SQL et atténuer ainsi les erreurs manuelles et le travail du développeur. Il existe différentes fonctions intégrées dans hibernate pour une facilité d'utilisation comme:
load (), update (), get (), merge (): Si nous sommes sûrs que l'objet existe, nous utilisons cette fonction pour charger l'objet hibernate sinon nous utilisons la fonction get (). Les fonctions de mise à jour et de fusion sont utilisées pour mettre à jour les enregistrements de la base de données sur la base des sessions actuelles existent déjà ou nous sommes des sessions totalement nouvelles pour la transaction. Il existe de nombreuses autres fonctions comme celle-ci pour la mise en veille prolongée.
Qu'est-ce que la session Hibernate?
Il s'agit d'une interface d'exécution entre une application et Hibernates qui est créée à la demande. En d'autres termes, il fournit la connectivité entre votre application et votre base de données. Il offre diverses fonctions telles que créer, supprimer, obtenir, mettre à jour pour fonctionner sur la base de données en utilisant des méthodes de session qui existent dans quatre états à savoir: transitoire, persistant et détaché, supprimé.
Hibernate a créé pour servir cet objectif. Il connecte en douceur la base de données au langage java indépendamment de toute base de données. Il est livré avec des fonctionnalités flexibles et favorise ainsi la flexibilité de traitement des données sur différentes plates-formes.
Méthodes de mise en veille prolongée
- Save (): la méthode Save () génère la clé primaire et insère l'enregistrement dans la base de données. Elle est similaire à la méthode persist () de JPA, mais elle se comporte différemment dans une instance détachée en créant l'enregistrement en double lors de la validation de la base de données.
- Update (): Update () est utilisé pour mettre à jour l'enregistrement de base de données existant. Il renvoie une exception si l'enregistrement n'est pas trouvé ou appelé dans une instance transitoire.
- saveOrUpdate (): il enregistre ou met à jour la base de données en fonction de l'entité transmise. Il ne renvoie pas d'exception dans l'état transitoire mais rend l'état persistant pendant une opération de base de données.
- merge (): les valeurs d'une entité détachée sont mises à jour dans la base de données lorsque la fusion () est utilisée en modifiant l'entité détachée à l'état persistant.
- delete (): la méthode Delete fonctionne en mode persistant pour supprimer l'entité de la base de données. Une exception est renvoyée si aucun enregistrement n'est trouvé dans la base de données.
Comment créer une session de mise en veille prolongée?
Afin de créer une session d'hibernation, nous devons charger les dépendances d'hibernation dans la bibliothèque de l'outil que vous utilisez avec le connecteur de base de données. Une fois ces bibliothèques chargées, nous pouvons établir la connexion en créant une session à l'aide de la fabrique de sessions.
Supposons que nous ayons une table avec deux colonnes: l'ID de l'employé et le nom de l'employé qui doivent être mis à jour.
Extrait de code:
classe publique testclasshibernate // déclaration de classe.
(
public static void main (string () args) // L'exécution principale du programme doit commencer à partir d'ici.
(
testprogram = nouveau programme (); // Ici, la classe est objectivée, puis cet objet est utilisé comme référence pour envoyer les valeurs telles que le nom et l'ID d'employé qui doivent être importées dans la table de base de données.
program.setEmpId (101);
program.setEmpName ("User1");
Configuration con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Créer une fabrique de sessions à l'aide de la configuration
SessionFactory sf1 = con.buildsessionfactory ();
// La méthode de session ouverte donne l'objet de la session.
Session s1 = sf.OpenSession ();
// Transaction d'ouverture
Transaction t1 = session.beginTransaction ();
session.save (testprogram);
tx.commit ();
)
)
Avantages de la session Hibernate
- La session Hibernate est conforme aux propriétés ACID (atomicité, cohérence, isolation et durabilité) de la base de données.
- Son mappage d'objet est cohérent et réduit ainsi beaucoup de bogues potentiels et d'échappatoires du code.
- Il est indépendant de la base de données, donc même s'il existe une base de données comme mySQL ou oracle, ce logiciel peut être utilisé.
- Il n'est pas nécessaire de connaître le SQL, seules les connaissances de base à ce sujet devraient vous aider à comprendre comment il fonctionne.
- Facile à créer des associations et beaucoup de conseils présents sur le net. Java étant largement utilisé avec une association à une base de données sur le net peut c = tirer le meilleur parti de ce logiciel s'il est utilisé à bon escient.
- Le code minimal change quand il y a des changements aux tables puisque tout est géré via la classe et les objets. La plupart du code et des fonctionnalités sont génériques, ce qui le rend plus digne d'être utilisé dans des applications qui dépendent beaucoup des données transactionnelles.
- Hibernate prend en charge la mise en cache à plusieurs niveaux améliore ainsi l'efficacité du codage.
Conclusion
Il y a eu un écart historique entre les données de la base de données et les données traitées via n'importe quel langage de programmation en dehors de la base de données. Pour résoudre ce problème, une nouvelle solution a été conçue appelée «ORM». Les données qui sont stockées sous forme de tableau dans une base de données peuvent désormais être récupérées de la base de données et peuvent être traitées sous la forme d'objets dans le langage de programmation et donc éliminer l'utilisation de requêtes SQL.
Articles recommandés
Ceci est un guide de la session Hibernate. Ici, nous discutons de ce qu'est la session d'hibernation et d'hibernation? ainsi que des méthodes et des avantages. Vous pouvez également consulter les articles suivants pour en savoir plus -
- Hibernate vs JPA
- Qu'est-ce que le CSRF?
- Spring vs Spring Boot
- Hibernate vs JDBC