Wie SQL-Injection verhindern mit JPA und Hibernate?

Ich entwickle eine Anwendung mit hibernate. Wenn ich versuche, eine zu erstellen eine Login-Seite, das problem Der Sql-Injection entsteht.
Ich habe den folgenden code:

@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;   
          }
      }

Wie kann ich verhindern, dass Sql-Injection in diesem Szenario ?Die create table-syntax der loginInfo Tabelle ist wie folgt:

create table login_info
  (user_name varchar(16) not null primary key,
  pass_word varchar(16) not null); 
InformationsquelleAutor Mr. Singthoi | 2012-12-31
Schreibe einen Kommentar