pourquoi devons-nous utiliser @la Modification de l'annotation pour les requêtes de Données Jpa

par exemple, j'ai une méthode dans mon interface CRUD qui supprime un utilisateur de la base de données:

public interface CrudUserRepository extends JpaRepository<User, Integer> {

    @Transactional
    @Modifying
    @Query("DELETE FROM User u WHERE u.id=:id")
    int delete(@Param("id") int id, @Param("userId") int userId);
}

Cette méthode fonctionne uniquement avec l'annotation @la Modification. Mais quel est le besoin pour l'annotation ici? Pourquoi ne peux-printemps analyser la requête et de comprendre que c'est une modification de la requête?

annotation dans un Référentiel est une mauvaise pratique, il est préférable de l'utiliser dans votre Service. Provoquer une action commerciale (transaction) peut être composée de plusieurs demandes de DB. même par plusieurs DAO. Plus ici stackoverflow.com/questions/1079114/...

OriginalL'auteur Artyom Emelyanenko | 2017-04-27