我想知道EJB3對於防止SQL注入有多安全。
我讀過使用預處理語句是相當安全的,但比如像這樣EJB3 SQL注入
@Override
public Collection<Project> searchProjectsPerProfessorLastname(String lastname) {
Query q = manager.createQuery("SELECT DISTINCT OBJECT(p) FROM Project p JOIN p.professors prof WHERE lower(prof.lastName) = ?1");
q.setParameter(1, lastname.toLowerCase());
@SuppressWarnings("unchecked")
Collection<Project> c = q.getResultList();
if(c.size()==0)
return null;
return c;
}
就可以進行SQL注入的功能?
你展示什麼是JPA,而不是EJB。它可能是使用JPA的EJB bean,但這與此問題無關。 – 2012-02-13 09:16:46