Spring JPA выбирает из где пункт - PullRequest
0 голосов
/ 28 мая 2018

Я использую Spring JPA для выполнения всех операций с базой данных.Однако я не знаю, как выбрать конкретные строки (связанные простым предложением WHERE) из таблицы в Spring JPA?

Например:

SELECT * FROM user where name=agrawalo AND email=abc@example.com 

Класс пользователя:

@Entity
Class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long userId;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private String email;

   // Getters and Setters
}

Хранилище:

public interface UserRepository extends JpaRepository<User, Integer> {

}

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

Вам не нужно писать запросы для таких простых вещей, если вы используете spring-data-jpa.Вы можете написать имя метода, а spring-data сформирует запрос на основе имени вашего метода и получит результаты.

public interface UserRepository extends JpaRepository<User, Integer> {
  Optional<User> findByNameAndEmail(String name, String email)
}

Создайте метод, как описано выше, и вызовите метод с необходимыми аргументами.
Если вы не хотите (не рекомендуется) использовать Optional, вы можете просто использовать User в качестве типа возврата.В таком случае, если нет записей, соответствующих вашим аргументам, вы бы вернули null.

0 голосов
/ 28 мая 2018
public interface UserRepository extends JpaRepository<User, Integer> {
     public User findUserByNameAndEmail(String name,String email);
}

Реализация будет создана на лету.

0 голосов
/ 28 мая 2018

Просто вы можете объявить ниже метод в вашем интерфейсе репозитория, реализация будет заботиться о Spring-data-jpa

User findByNameAndEmail(String name, String email);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...