Как использовать DateTime в Slick2.0?

Я хочу использовать DateTime в модели Slick 2.0. Я использую джодатайм:

Я добавил зависимости в Build.scala:

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

Затем я делаю:

 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)
}

ошибка:

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

Я добавил банку joda-convert, но, похоже, она не работает. Как добавить DateTime в класс модели Slick?


person user504909    schedule 22.03.2014    source источник
comment
Как принятое решение помогает вам? Потому что я столкнулся с той же проблемой. Но приведенное ниже решение не решило мою проблему. Не могли бы вы помочь мне решить проблему? Не могли бы вы взглянуть на проблему stackoverflow.com/q/37076027/1584121. Спасибо :(   -  person SKK    schedule 08.05.2016


Ответы (2)


Взгляните на https://github.com/tototoshi/slick-joda-mapper или создайте свой преобразователь собственного типа

person walla    schedule 22.03.2014
comment
это лучший ответ - person Vincil Bishop; 04.10.2015

В другом ответе упоминается библиотека, но если вы хотите просто создать свой собственный картограф и использовать его в классе, это один из таких примеров:

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

Источник: комментарий Пола Коглана (@paulcoghlan) к Gist здесь https://gist.github.com/dragisak/4756344#comment-1211671

person bjfletcher    schedule 13.05.2015
comment
Учитывая простоту, это должен быть лучший ответ. - person BZapper; 19.01.2017