JPA 的持久化和合并是否容易受到 sql 注入的影响?

Are JPA's persist and merge vulnerable to sql injection?

提问人:A. Coder 提问时间:11/15/2015 更新时间:11/15/2015 访问量:235

问:

例如,如果我有如下代码来添加新用户,它是否容易受到 SQL 注入的影响?用户对象是根据用户输入(即名称、电子邮件、密码)创建的。我已经为我的getUser方法使用了参数化查询,但我不确定合并和持久化。

public static void addUser(User user) {

    EntityManager em = DBUtil.getEmFactory().createEntityManager();
    EntityTransaction trans = em.getTransaction();
    trans.begin();        
    try {
        em.persist(user);
        trans.commit();
    } catch (Exception e) {
        System.out.println(e);
        trans.rollback();
    } finally {
        em.close();
    }
}
mysql sql jpa sql 注入

评论

1赞 Neil Stockton 11/15/2015
JDBC 使用参数来禁止这种情况。因此,JPA 实现不再倾向于将其作为 JDBC 应用程序。

答: 暂无答案