2015-06-11 3 views
-3

Я хочу понять слой DAO проекта, он разработан с помощью Spring Data JPA. Я возьму объект user в качестве примера. Поэтому у меня есть этот интерфейс с именем
userRepository extends JpaRepository<user, Long>понять проект SPARING DATA JPA (dao layer)

Для чего нужен (пользователь, долго)? И, во-вторых,

@Query("select u from user u where u.login = :login") 
User findUserByLogin(@Param("login")String login); 

Я не могу найти реализацию этого интерфейса в проекте. Собираемся ли мы работать с этим интерфейсом напрямую, чтобы получить данные из БД?

+2

RTFM: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/ –

ответ

1

Согласно яровой JPA данных документации:

Центральный интерфейс в хранилище абстракции Spring Data является Repository. Он принимает класс домена для управления, а также типа ид класса домена в качестве аргументов типа

Так, Utilisateur, Long представляет, что ваша организация является Utilisateur и Long является типом ваш первичный ключ. Относясь к вашему второму вопросу, весна предлагает имплантирование по умолчанию для этих интерфейсов, создавая для них экземпляры прокси. Взгляните на spring data docs.

+0

, так что я понял: в классе службы, если я создал атрибут (например: UserRepository user;), поэтому, если у меня есть метод (findUserByLogin), метод будет использовать запрос, и я получу данные, которые я хочу, , но почему у меня есть аннотация: @Autowired \t private UserRepository userDao; –

+0

@Autowired вводит зависимость UserRepository в ваш сервисный компонент. Серьезно, прочитайте весеннюю документацию и, конечно же, узнайте о некоторых основных передовых методах разработки программного обеспечения, таких как Injection Dependency. –

+0

http://stackoverflow.com/help/how-to-ask –

Смежные вопросы