Bonjour,

Débutant en en framework spring et sur la spécification JPA, je ne saisis pas bien le concept d'accès aux données.
Je me demande si il y a 2 façons de faire, par exemple dans le code suivant, l'interface permet d'accéder aux requêtes CRUD simples grâce à l'interface JpaREpository :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public interface UserRepository extends JpaRepository<User, Integer> {
 
    @Query(" select u from User u " +
            " where u.username = ?1")
    Optional<User> findUserWithName(String username);
 
}
Par ailleurs, l'objet EntityManager à l'air de permettre le même travail, comme ici

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
@Repository
@Transactional
public class AppRoleDAO {
 
    @Autowired
    private EntityManager entityManager;
 
    //On récupère les rôles d'un utilisateur
    public List<String> getRoleNames(Long userId) {
        String sql = "Select ur.appRole.roleName from " + UserRole.class.getName() + " ur " //
                + " where ur.appUser.userId = :userId ";
Du coup je me demande si il ya 2 façons de faire et si il y en a une plus indiquée qu'une autre

Merci à vous