Hibernate - zarejestrowanie i zalogowanie użytkownika

0

Mam taką prostą funkcję która rejestruje użytkownika do bazy podając login i hasło i rzeczywiście to działa. Chciałbym żeby dodać też opcję logowania, która sprawdza czy dany użytkownik jest już zarejestrowany w bazie czy nie. Mógłby ktoś podpowiedzieć jak się za to zabrać?

package services;

import model.User;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class UserServiceImpl implements IUserService {
    @Autowired
    IHibernateSessionFactoryService sessionFactoryService;
    public void saveUser(User user) {
        Session session = this.sessionFactoryService.getSession();
        Transaction transaction = null;
        try {
            transaction = session.beginTransaction();
            session.save(user);
            transaction.commit();
        }catch (HibernateException e){
            if(transaction !=null)
                transaction.rollback();
        }finally {
            session.close();
        }
    }

    }

0
  1. Nie @Component, tylko @Service. Różnica w działaniu żadna, ale skoro masz serwis to opisz go jako serwis. Niech adnotacja odpowiada temu, co jest w klasie.
  2. Albo UserService implements IUserService (ale raczej dotnetowcy tak robią), lepiej UserServiceImpl implements UserService.

@Autowired
IHibernateSessionFactoryService sessionFactoryService;


Łooo Panie. Nie robimy `property injection`. Wstrzykujemy przez konstruktor. I pole powinno być prywatne, czyli
```java
private IHibernateSessionFactoryService sessionFactoryService;

// @Autowired <- opcjonalne w tym wypadku
public UserServiceImpl(IHibernateSessionFactoryService sessionFactoryService) {
	this.sessionFactoryService = sessionFactoryService;
}

Odpowiedź na pytanie jest tutaj

1 użytkowników online, w tym zalogowanych: 0, gości: 1