Question

I want to use DateTime in Slick 2.0 model. I use jodatime:

I added the dependencies in Build.scala:

   "joda-time" % "joda-time"    % "2.3",
   "org.joda"  % "joda-convert" % "1.6"

I then do:

 class Comment(tag:Tag) extends Table[(Long, Int, Int, String, Int, DateTime)](tag,"Comment"){
  def id=column[Long]("ID", O.PrimaryKey)
  def rate=column[Int]("rate")
  def sub=column[Int]("subject")
  def content=column[Int]("cotent")
  def user_ID=column[Int]("user")
  def time=column[DateTime]("time")   //-----------an error here
  def * = (id, rate,sub, content, user_ID, time)
}

the error is:

 could not find implicit value for parameter tm: scala.slick.ast.TypedType[org.joda.time.LocalDate]

I added joda-convert jar but it doesn't seems to work. How to add a DateTime in a Slick model class?

Était-ce utile?

La solution 2

Take a look at https://github.com/tototoshi/slick-joda-mapper or you must create your own type mapper

Autres conseils

The other answer mentioned the library, but if you want to just create your own mapper and have it in the class, this is one such example:

implicit def dateTime =
    MappedColumnType.base[DateTime, Timestamp](
      dt => new Timestamp(dt.getMillis),
      ts => new DateTime(ts.getTime)
    )

Source: Paul Coghlan (@paulcoghlan)'s comment on Gist here https://gist.github.com/dragisak/4756344#comment-1211671

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top