Résume principalement Hibernate à partir des dizaines d'aspects suivants, y compris la méthode de récupération d'Hibernate, le statut de l'objet en hibernate, quelles sont les trois stratégies de récupération d'Hibernate, que les occasions sont applicables, le problème selon lequel Orm Solves correspond, l'hibernate cartographier l'héritage de l'héritage héritage héritage hérité héritage, l'hibernate cartographier l'héritage d'héritage héritage L'héritage d'héritage Héritation de l'héritage de cartographie Hibernate Mapping héritage héritage L'héritage est-ce Héritage L'héritage de l'héritage Les trois façons de relations, le résumé de la méthode de recherche () de session et la différence entre l'interface de requête, etc. Le contenu spécifique est le suivant:
1 Méthode de recherche Hibernate
索 Recherche de diagramme d'objets de navigation (Selon l'objet chargé, navigation vers d'autres objets.)
按 Search OID (récupère l'objet en fonction de l'OID de l'objet.)
使用 HQL Retrieval (en utilisant un langage de requête HQL orienté objet.)
使用 Recherche QBC (en utilisant QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC) API API) ) pour récupérer des objets.
索 SQL RETRIEVAL local (instruction de requête SQL à l'aide de la base de données locale.)
Including Hibernate's retrieval method, the state of the object in Hibernate, what is the three retrieval strategies of Hibernate, which occasion for which occasions are applicable, the problem that ORM solves does not match, the three methods of the hibernate mapping inheritance relationship, the Méthode de session de session () fondée sur la session () et le résumé des différences de différence entre l'interface de requête
T transitoire: juste créé avec la nouvelle déclaration, n'a pas été persisté et n'est pas dans le cache de la session. Les objets Java à l'état temporaire sont appelés objets temporaires.
(Persistent: il a été persisté et ajouté à la cache de la session. Les objets Java dans un état persistant sont appelés objets persistants.
E détaché: il a été persisté mais plus dans le cache de la session. Les objets Java à l'état libre sont appelés objets libres.
3 Quelles sont les trois stratégies de récupération d'hibernate, et quelle occasion s'applique aux occasions applicables
Ø Récupération immédiate
Avantages: complètement transparent à l'application.
Inconvénients: les instructions sélectionnées sont nombreuses.
Applicable: niveau de classe.
Ø Récupération retardée
Avantages: quels objets sont chargés par l'application pour éviter l'exécution d'instructions sélectives excessives et éviter les objets qui n'ont pas besoin d'être chargés, d'économiser l'espace mémoire et d'améliorer l'efficacité de récupération.
Inconvénients: si l'application doit accéder à l'instance de l'agent de l'état de déficit, il faut s'assurer qu'il a été initialisé lorsqu'il est durable.
Application: un -to-multiple ou plus associé. Les applications n'ont pas besoin d'être accessibles immédiatement ou n'accèdent pas du tout.
接 Recherche urgente de connexion gauche et extérieure
Avantages: il est complètement transparent pour l'application. Avec des connexions externes, le nombre d'instructions de sélection est faible.
Inconvénients: les objets qui ne sont pas accessibles peuvent être chargés. Performances de recherche d'image de connexion de la table de données complexes.
Application: un à-un ou plus associé. Les demandes doivent être accessibles immédiatement. Le système de base de données a de bonnes performances de connexion de table.
4 ORM a résolu le problème de la non-correspondance (le ne correspond pas entre le modèle de domaine et le modèle de relation)
向 Le modèle de domaine est orienté objet et le modèle de relation est lié.
Le modèle de domaine a des relations d'héritage et le modèle relationnel ne peut pas représenter directement la relation d'héritage.
Il existe de nombreuses relations dans le modèle de domaine 多, et dans le modèle de relation, le tableau de connexion est utilisé pour représenter de plus en plus de relations associées.
双 Le modèle de domaine a une relation à deux voies.
精 Le modèle de domaine favorise le modèle de taille des particules fines et le modèle de relation préconise des modèles grossiers.
5 mappage d'hibernate de 3 façons de la relation successive
系 L'ensemble du système d'héritage utilise une table (Hiérarchie Tableper)
张 Chaque sous-classe a une table, stockée les attributs uniques de la sous-classe (sous-classe Tableper)
张 Chaque classe spécifique (Union-Subclass), enregistrée en tant qu'information complète de table (tableau par béton)
6 Session Find () Méthode et la différence entre l'interface de requête
La méthode find () de la classe de session et de l'interface de requête prennent en charge la méthode de récupération HQL. La différence entre les deux est que la première exécute des méthodes pratiques pour les instructions de requête HQL simples. L'interface de requête est celle de l'interface de requête.
7 Configuration de l'association Hibernate
Un -un-un
Ø Ø Ø Ø Ø
Ø Ø Ø Ø Ø
8 Décrivez brièvement les caractéristiques de la session
, Les threads ne sont pas sûrs, donc lors de la conception d'architectures de logiciels, plusieurs threads doivent être évités pour partager la même instance de session.
实 L'instance de session est légère. Cela signifie que l'objet de session peut être créé ou détruit régulièrement dans le programme, par exemple pour allouer une instance de session distincte pour chaque client, ou pour allouer des instances de session individuelles pour chaque unité de travail.
En session, chaque opération de base de données est effectuée dans une transaction, afin que vous puissiez séparer différentes opérations (même lire uniquement).
9 HiberNate utilise le fichier XML pour configurer l'objet - les avantages de la cartographie relationnelle
L'hibernate ne pénètre pas dans le modèle du domaine supérieur ni pénètre dans le modèle de données inférieur. Les développeurs de logiciels peuvent concevoir indépendamment les modèles de domaine sans force pour obéir à des spécifications. Les concepteurs de bases de données peuvent concevoir indépendamment les modèles de données sans force pour se conformer à toutes les spécifications. Le mappage d'objet-relation ne dépend d'aucun code de programme. Maintenance plus pratique.
10 La fonction de la cache de la session
库 Réduisez la fréquence d'accès à la base de données. La vitesse de l'application à partir de la mémoire de la mémoire est évidemment plus rapide que la vitesse de l'interrogation des données dans la base de données, de sorte que le cache de session peut améliorer les performances de l'accès aux données.
对 Il garantit que l'objet dans le cache est synchronisé avec les enregistrements pertinents dans la base de données. Lorsque l'état de l'objet persistant dans le cache change, la session n'exécute pas immédiatement l'instruction SQL pertinente, qui permet à la session de combiner plusieurs instructions SQL connexes dans une instruction SQL afin de réduire le nombre de bases de données d'accès et d'augmenter le programme d'application performance.
11 Le problème de plus que l'exécution de plus de affaires
新 Le premier type de mise à jour des pertes
Lecture sale
Ø Ø Ø Ø Ø / Phantom Reading
Ø Ne lisez pas à plusieurs reprises
新 Le deuxième type de mise à jour des pertes
12 La différence entre le nettoyage et le vide de la session
清 Les caches de nettoyage de session signifient la mise à jour de la base de données de manière synchrone en fonction des modifications de l'état du cache;
S Clear est la session pour effacer la pièce ou tous les objets ou la session;
13 principe de travail d'Hibernate et pourquoi
Primaire
1. Lire et analyser le fichier de configuration
2. Lire et analyser les informations de cartographie, créer SessionFactory
3. Session ouverte
4. Créer une transmission de transaction
5. Fonctionnement persistant
6. Soumettre une transaction
7. Session de fermeture
8. Fermer SestionFactory
Ø Pourquoi utilisez-vous
1. Emballé le code de l'accès de JDBC à la base de données, ce qui simplifie considérablement le code répétitif fastidieux de la couche d'accès aux données.
2. Hibernate est un cadre grand public et de persistance basé sur JDBC, et c'est une excellente implémentation ORM. Il simplifie largement le travail de codage de la couche Dao
3. Hibernate utilise le mécanisme de réflexion Java au lieu du programme amélioré ByteCode pour atteindre la transparence.
4. Les performances d'Hibernate sont très bonnes car c'est un cadre léger. La flexibilité de la cartographie est excellente. Il prend en charge diverses bases de données relationnelles, de une à une à des relations plus complexes.
14 chargement de retard d'hibernate
1. Implémentation de chargement de retard Hibernate2: a) Objet sport b) Type de collecte
2. HiberNate3 fournit une fonction de chargement de retard de l'attribut
Lorsque Hibernate interroge les données, les données n'existent pas et la mémoire, et lorsque le programme fonctionne vraiment, l'objet existe et la mémoire est retardée.
15 Mécanisme de cache d'Hibernate
1. Le cache de premier niveau est également appelé le cache interne Hibernate, qui appartient au cache de classe de transaction d'application
2. Cache de niveau secondaire
a) Application et cache
b) cache distribué
Conditions: Les données ne seront pas modifiées par un tiers, la taille des données est dans une plage acceptable, la fréquence de mise à jour des données est faible et les mêmes données sont fréquemment utilisées par le système et les données non critiques.
c) la réalisation du cache tiers
16 Optimiser l'hibernate
1. Utilisez les associations à deux deux pass
2. Utilisation flexible de l'association d'un seul-chemin-Multiple
3. Personne -to-un, le remplacer par plus de paires
4. Cache d'objet de configuration, pas de cache de collecte
5. Sac Utilisation d'un -to-morti-collection, la plupart de l'ensemble d'utilisation multi-collections
6. Les cours d'héritage sont utilisés pour plusieurs états
7. Il y a moins de champs de table, n'ayez pas peur de l'association des tables, il y a un cache de deuxième niveau soutenant la taille
Ce qui précède est un résumé commun de l'hibernate, qui est plus courant dans les entretiens Java, dans l'espoir d'aider tout le monde.