Jak zapobiec iniekcji SQL za pomocą JPA i Hibernate?

Zajmuję się tworzeniem aplikacji za pomocą hibernacji. Kiedy próbuję utworzyć stronę logowania, pojawia się problem wtrysku Sql. Mam następujący kod:

@Component
@Transactional(propagation = Propagation.SUPPORTS)
public class LoginInfoDAOImpl implements LoginInfoDAO{

@Autowired
private SessionFactory sessionFactory;      
@Override
public LoginInfo getLoginInfo(String userName,String password){
    List<LoginInfo> loginList = sessionFactory.getCurrentSession().createQuery("from LoginInfo where userName='"+userName+"' and password='"+password+"'").list();
    if(loginList!=null )
        return loginList.get(0);
    else return null;   
          }
      }

Jak w tym scenariuszu zapobiec wtrysku Sql? Składnia tabeli tworzenia tabeli loginInfo jest następująca:

create table login_info
  (user_name varchar(16) not null primary key,
  pass_word varchar(16) not null); 

questionAnswers(5)

yourAnswerToTheQuestion