Répertoire d'articles
Façons de récupérer la mémoire
Les références nulles seront récupérées en mémoire
En Java, les références nulles seront recyclées par le mécanisme de récupération de place de Java.
L'objet allouera de l'espace lors de son instanciation, c'est-à-dire que l'espace sera alloué uniquement dans la troisième ligne. Attribuez la première adresse de la zone de tas de mémoire à C1
À la ligne 4, l'adresse est également attribuée à C2;
Un nouvel objet sera créé sur la 5ème ligne et la nouvelle valeur d'adresse sera affectée à C2;
Les références isolées seront récupérées en mémoire
Il existe un attribut du type de collecte de commandes dans l'objet User.
Cache
La fonction du cache est de réduire la pression sur la source de stockage permanente (la base de données de valeurs ici)
Cache de session
L'implémentation interne est toujours référencée via l'interface interne.
Laissez une référence d'un type de collection toujours exister.
L'essence est de mettre l'objet dans la collection
SessionFactory.openSession();初始化session对象,初始化Session。
Lorsque la session est demandée, regardez d'abord le cache, puis regardez la base de données si elle n'est pas disponible. Lorsque vous
appelez les méthodes get et save, elles sont toutes dans le cache.
Clean up! =
Clean up Clean up = Rendre les données mises en cache cohérentes avec les données de la base de données
Mettre à jour la base de données de manière synchrone en fonction du cache de session
Session.flush();清理缓存,会被roulBack回滚事务
Session.close();会永久提交,不会被回滚
Les méthodes Load et get ne nettoient pas le cache, et les méthodes get et load lisent le cache.
Le cache est jugé en premier, donc la base de données ne sera pas lue et les données sales (données d'erreur) de la base de données ne seront pas lues
Instantané de la session
La méthode save placera les données dans le cache et créera une sauvegarde (instantané) dans le
cache. Lors du nettoyage du cache, elle jugera si les données du cache sont cohérentes avec l'instantané. Si elles sont incohérentes, elle se mettra à jour les nouvelles données dans la base de données.
Menual: nettoyez manuellement le cache, la méthode de validation n'effectue pas de nettoyage
COMMIT: il convient à plus de requêtes et les données ne sont pas sûres
Fonction de cache de session
Exception de dépassement de capacité de pile
Ne créera pas un nouvel objet, mais l'affectation OID;
Le cycle de vie des objets Hibernate
Le cycle de vie d'un objet entité
Temporaire- "Persistance-" Libre- "Supprimer
Spécifique à un objet temporaire: le cache contient des enregistrements, la table de données n'a pas d'enregistrements correspondants
Fonctionnalités de persistance: la base de données contient des enregistrements, le cache a également des
fonctionnalités correspondantes Fonctionnalités d'objet gratuit: la base de données peut avoir des enregistrements, mais le cache ne correspond pas à l'
objet supprimé Caractéristiques: pas dans le cache, et prévoyez de supprimer l'enregistrement de la base de données.
La méthode close effacera l'objet cache et modifiera l'indicateur de cache (identifiant si la session est disponible) La
méthode clean efface uniquement le cache
En plus de l'état persistant ne sera pas recyclé, d'autres états peuvent être recyclés, car l'état persistant doit avoir des références.
Hibernate exploitation des objets persistants
Session 的 Save ()
Mise à jour de la session ()
L'étiquette du quatrième point peut être utilisée pour se rendre compte que la base de données n'est pas mise à jour lorsqu'elle est cohérente avec l'instantané,
mais il y aura une opération supplémentaire pour interroger la base de données, elle n'est donc généralement pas utilisée.
Session 的 saveOrUpdate ()
Par défaut, l'attribut est un objet temporaire tant que OID = null. La
prémisse est l'objet référencé
La méthode de suppression de Session