Краткий ответ: да, если используется правильно.
Однако это не означает, что не может быть ошибок в драйвере JDBC, открывающемся для внедрения SQL.Когда я посмотрел на это для компании, в которой работал, то обнаружил, что действительно была ошибка внедрения SQL в одном из драйверов JDBC, которые мы использовали (PostgreSQL).Это было несколько лет назад, и ошибка была исправлена.
Хотя я не помню подробностей, я вспоминаю, как смотрел исходный код для реализации JDBC и видел, что он был реализован с конкатенацией строк.
Впрочем, я ожидал бы, что это случится редко, и я бы советовал доверять реализации и правильно использовать PreparedStatements.