SQL injection in Hibernate

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: java-security/sql-injection-hibernate

Language: Java

Severity: Warning

Category: Security

CWE: 89

Description

Never build a SQL query by concatenating string. Instead, make sure that you use Hibernate functionalities to prevent SQL Injection.

Learn More

Non-Compliant Code Examples

class Foobar {

    public void test() {
        Session session = sessionFactory.openSession();
        Query q = session.createQuery("select t from UserEntity t where id = " + input);
        q.execute();
    }
}

Compliant Code Examples

class Foobar {

    public void test() {
        Session session = sessionFactory.openSession();
        Query q = session.createQuery("select t from UserEntity t where id = :userId");
        q.setString("userId",input);
        q.execute();
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis