aggiornamento: Dal momento che il gioco 2.3.7 questo è ora natively supported.
Sto usando il seguente pezzo di codice per lavorare con DateTime perfettamente con Anorm.
import org.joda.time._
import org.joda.time.format._
import anorm._
object AnormExtension {
val dateFormatGeneration: DateTimeFormatter = DateTimeFormat.forPattern("yyyyMMddHHmmssSS");
implicit def rowToDateTime: Column[DateTime] = Column.nonNull { (value, meta) =>
val MetaDataItem(qualified, nullable, clazz) = meta
value match {
case ts: java.sql.Timestamp => Right(new DateTime(ts.getTime))
case d: java.sql.Date => Right(new DateTime(d.getTime))
case str: java.lang.String => Right(dateFormatGeneration.parseDateTime(str))
case _ => Left(TypeDoesNotMatch("Cannot convert " + value + ":" + value.asInstanceOf[AnyRef].getClass))
}
}
implicit val dateTimeToStatement = new ToStatement[DateTime] {
def set(s: java.sql.PreparedStatement, index: Int, aValue: DateTime): Unit = {
s.setTimestamp(index, new java.sql.Timestamp(aValue.withMillisOfSecond(0).getMillis()))
}
}
}
penso che dovrebbe essere definitivamente parte della Anorm, solo bisogno di essere lucido e più collaudato. Fammi sapere se ti ha aiutato.
@adis Penso che si tratti di JPA, e questo è per anorm ... – bertzzie