Найти объект в Hibernate без идентификатора - PullRequest
0 голосов
/ 17 ноября 2018

Я использую Spring.У меня есть таблица пользователей.

Когда человек входит в систему, он отправляет мне свои учетные данные (т. Е. Имя пользователя и пароль).

Я сохранил своих пользователей в базе данных с помощью «добавочного сгенерированного uid»(т.е. идентификатор пользователя является первичным ключом).

Я также сохранил пароль пользователя и т. д. в базе данных.Что мне нужно сделать, так это то, что когда пользователь подключается к соединению Rest, мне нужно проверить, есть ли в базе данных этот пользователь или нет.Если он существует, то мне нужно проверить, совпадают ли пароли.И мне нужно сделать эту проверку по имени пользователя, а не по uid

У меня нет сеанса или чего-либо еще в моей программе (или, насколько я знаю, я не записывал ни одного сеанса или сеанса в своем кодевообще)

Мой класс репозитория:

public interface UserRepository extends JpaRepository<User, Long>{
}

Мой пользователь DAO

@Service
public class UserDAO {

    @Autowired
    UserRepository userRepository;

    public User findByUsername(String username)
    {
        //what to write here

    }
}

Я искал это решение но как яКак сказано выше, у меня нет сессии.

1 Ответ

0 голосов
/ 17 ноября 2018

Spring предоставляет все необходимые зависимости и функции, которые вам нужны.

Возвращаясь к вашему вопросу. В Spring можно легко запрашивать поля без идентификатора, просто предоставив репозиторий и там метод Signatures с определенным соглашением об именах, чтобы получить соответствующий результат.

Вы можете ввести EntityManager, что также дает вам доступ к Session, используя @PersistenceContex t, который будет вводить общий EntityManager, управляемый Spring

Кроме того, вы можете использовать Thingy Naming Convention, расширив свой UserRepository с Repository (или любого его потомка), как вы это уже делаете, и предоставив сигнатуру метода, такую ​​как findBy<FIELDNAME>(String value), например. findByUsername(String username).

Если вы используете подход репозитория, вам не нужно реализовывать DAO.

Подробное описание приведено в Справочной документации Spring.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...