Переход на anorm2.4 (с игрой 2.4): ToStatement [T] и ToStatement [Option [T]]
Вплоть до тех пор, пока анорм, включенный в игру 2.3, я не мог написать следующее:
implicit val arbitraryClassToStatement = new ToStatement[ArbitraryClass] {
def set(
s: java.sql.PreparedStatement,
index: Int,
aValue: ArbitraryClass
)
: Unit = {
s.setString(
index,
ArbitraryClass.definingString
)
}
}
и это поможет вставить
SQL("INSERT INTO SomeTable Values( {nonNullAc}, {possiblyNullAc} )" ).on(
'nonNullAc -> ArbitraryClass( "abcd" ),
'possiblyNullAc -> Option( ArbitraryClass( "abcd" ) )
)
Это означает, что и ArbitraryClass, и Option [ArbitraryClass] будут удовлетворены им. Кажется, это больше не так, поскольку я получаю следующую ошибку:
[error] found : (Symbol, Option[models.Misc.Url])
[error] (which expands to) (Symbol, Option[java.net.URL])
[error] required: anorm.NamedParameter
Может кто-нибудь указать мне, как правильно с этим справиться? Я хотел бы минимальное дублирование кода ..