4. DAO
@Repository public class LoginDaoImpl implements LoginDao{ @PersistenceContext private EntityManager entityManager; public EntityManager getEntityManager() { return entityManager; } public void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } @Override @Transactional public User createUser(User newUser) { //get password hash newUser.setPassword(getHashedPassword(newUser)); entityManager.persist(newUser); entityManager.flush(); return newUser; } @Override @Transactional public User authenticateUser(User user) { Query query = entityManager.createQuery("FROM User WHERE userName = :userName AND password = :password"); query.setParameter("userName", user.getUserName()); query.setParameter("password", getHashedPassword(user)); User u = null; try { u = (User) query.getSingleResult(); } catch (Exception e) { // there is no record for th...