SQLインジェクションを防ぐためにEJB3の安全性を知りたいと思います。
私はプリペアドステートメントを使用することは非常に安全であることを読んだが、これ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インジェクションを行うことができますか?簡単に言えば
表示されているのはEJBではなくJPAです。 JPAが使われているEJB Beanかもしれませんが、これはこの質問には関係ありません。 –