Raw SQL Injection Risk (ARCH4055)
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
Key java.orm.raw-sql-injection-risk · Severity critical · Category orm
Building raw SQL via string interpolation opens SQL injection and busts the query plan cache. Pass values as bound parameters instead.
Incorrect
Section titled “Incorrect”String sql = "SELECT * FROM users WHERE email = '" + email + "'";Query q = entityManager.createNativeQuery(sql, User.class);List<User> users = q.getResultList();Correct
Section titled “Correct”Query q = entityManager.createNativeQuery( "SELECT * FROM users WHERE email = :email", User.class);q.setParameter("email", email);List<User> users = q.getResultList();Never concatenate user values into raw SQL; always use bound parameters.