Я использую Play! рамки вместе с Anorm для доступа к базе данных. Я часто вижу примеры, подобные приведенным ниже, когда члены объекта вставляются непосредственно в оператор SQL.
У меня вопрос, санированы ли эти входы? Большинство примеров выглядят следующим образом:
object Person {
def save(p:Person) {
DB.withConnection ("default") { implicit connection =>
SQL("""
INSERT INTO person(firstName,lastName)
values ({firstName}, {lastName})
"""
).on(
"firstName" -> p.firstName,
"lastName" -> p.lastName
).executeUpdate()
}
}
}
Я попытаюсь выяснить это путем взлома, но легко ошибиться, поэтому я подумал, что спрашивать было бы более уместно, и я могу использовать мудрость толпы.