Maison > Java > javaDidacticiel > `save`, `persist`, `update`, `saveOrUpdate` et `merge` d'Hibernate : quand utiliser lesquels ?

`save`, `persist`, `update`, `saveOrUpdate` et `merge` d'Hibernate : quand utiliser lesquels ?

Mary-Kate Olsen
Libérer: 2024-11-15 07:38:02
original
330 Les gens l'ont consulté

Hibernate's `save`, `persist`, `update`, `saveOrUpdate`, and `merge`: When to Use Which?

Options d'enregistrement dans Hibernate

Hibernate fournit plusieurs méthodes pour conserver les données dans une base de données, chacune servant un objectif spécifique. Comprendre ces différences est crucial pour une interaction optimale avec la base de données.

save

Perserve une nouvelle entité, attribuant un identifiant unique s'il n'en existe pas. Si un identifiant est présent, il effectue une opération de mise à jour.

update

Tente de conserver une entité avec un identifiant existant. Si l'identifiant est manquant, une exception est levée.

saveOrUpdate

Appelle dynamiquement save ou update en fonction de l'existence d'un identifiant. Si aucun identifiant n'est présent, il utilise save ; sinon, il utilise update.

saveOrUpdateCopy

Obsolète et remplacé par merge.

merge

Utilisé pour mettre à jour ou enregistrer des entités transitoires ou détachées. Les objets transitoires sont de nouveaux objets qui n'ont jamais été conservés, tandis que les objets détachés ont déjà été conservés mais ne sont plus associés à une session Hibernate.

persister

Spécialement conçu pour enregistrer des objets transitoires. Contrairement à la sauvegarde, il ne renvoie pas l'identifiant généré.

Choisir la bonne méthode

save : Pour enregistrer de nouvelles entités ou mettre à jour des enregistrements en fonction de un identifiant.

mise à jour : Pour mettre à jour explicitement l'existant entités.

saveOrUpdate : Pour les scénarios dans lesquels vous ne savez pas si une entité est nouvelle ou existante.

merge : Pour mettre à jour ou enregistrer des entités transitoires ou entités détachées.

persister : Pour enregistrer de nouvelles entités sans avoir besoin d'identifiant récupération.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal