recherche
MaisonJavajavaDidacticielPourquoi ma mise à jour Spring Data JPA @Query ne se reflète-t-elle pas dans la base de données ?

Why is my Spring Data JPA @Query Update Not Reflecting in the Database?

La mise à jour JPA de Spring Data @Query ne se met pas à jour ?

Dans Spring Data JPA, l'annotation @Query vous permet de définir un JPQL personnalisé ou natif Requêtes SQL pour modifier les lignes de la base de données. Cependant, l'annotation @Modifying à elle seule peut ne pas déclencher les opérations de vidage et de persistance nécessaires pour mettre à jour la base de données.

Pour garantir la persistance des modifications dans la base de données, il est recommandé d'utiliser l'attribut clearAutomatically dans l'annotation @Modifying. Cet attribut détermine si le contexte de persistance est automatiquement effacé après l'exécution de la requête. En définissant clearAutomatically sur true, les modifications apportées lors de l'exécution de la requête sont automatiquement détectées et transférées dans la base de données.

Voici un exemple de la façon dont vous pouvez utiliser clearAutomatically dans votre requête @Modifying :

@Modifying(clearAutomatically = true)
@Query("UPDATE Admin SET firstname = :firstname, lastname = :lastname, login = :login, superAdmin = :superAdmin, preferenceAdmin = :preferenceAdmin, address =  :address, zipCode = :zipCode, city = :city, country = :country, email = :email, profile = :profile, postLoginUrl = :postLoginUrl WHERE id = :id")
public void update(@Param("firstname") String firstname, @Param("lastname") String lastname, @Param("login") String login, @Param("superAdmin") boolean superAdmin, @Param("preferenceAdmin") boolean preferenceAdmin, @Param("address") String address, @Param("zipCode") String zipCode, @Param("city") String city, @Param("country") String country, @Param("email") String email, @Param("profile") String profile, @Param("postLoginUrl") String postLoginUrl, @Param("id") Long id);

En définissant clearAutomatically sur true, le contexte de persistance est effacé après l'exécution de la requête de mise à jour. Cela force les modifications apportées à l'objet Admin à être conservées dans la base de données.

N'oubliez pas que clearAutomatically n'affecte que le contexte de persistance associé à l'EntityManager actuel. Si vous utilisez plusieurs contextes de persistance, vous devrez peut-être gérer le vidage manuellement pour vous assurer que les modifications sont correctement synchronisées dans chacun d'entre eux.

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!

Déclaration
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP