我想知道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