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?

有帮助吗?

解决方案 2

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top