106 votes

Comment utiliser @Transactional avec Spring Data ?

Je viens de commencer à travailler sur un projet Spring-data, Hibernate, MySQL, JPA. J'ai opté pour Spring-data afin de ne pas avoir à me soucier de la création de requêtes à la main.

J'ai remarqué que l'utilisation de @Transactional n'est pas nécessaire lorsque vous utilisez spring-data puisque j'ai également essayé mes requêtes sans l'annotation.

Y a-t-il une raison spécifique pour laquelle je devrais/ne devrais pas utiliser l'option @Transactional annotation ?

Travaux :

@Transactional
public List listStudentsBySchool(long id) {
    return repository.findByClasses_School_Id(id);
}

Ça marche aussi :

public List listStudentsBySchool(long id) {
    return repository.findByClasses_School_Id(id);
}

Merci d'avance !

-1voto

danny.lesnik Points 9526

Vous devez utiliser @Repository annotation

Cela s'explique par le fait que @Repository est utilisé pour traduire votre exception SQL non vérifiée à Spring Excpetion et la seule exception que vous devriez traiter est DataAccessException

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X