Фильтр Slick 2.x по типу сопоставленного столбца (java.util.Date)

Я использую java.util.Date в своем классе моделей. Поскольку Slick не поддерживает j.u.Date из коробки, я добавил неявное сопоставление, например implicit val dateColumnMapper = MappedColumnType.base[Date, SqlDate](d => new SqlDate(d.getTime), d => d), в свой класс Table.

Но теперь я застрял с фильтрацией по полю даты: proposalsQuery.filter(_.since >= since). Я пробовал разные варианты, но всегда получаю ошибки компиляции: value >= is not a member of scala.slick.lifted.Column[java.util.Date]

Поскольку я новичок в рабочих примерах Scala/Slick с простым объяснением проблемы, я был бы очень признателен.

Спасибо!


person viator    schedule 04.09.2014    source источник


Ответы (2)


неявный преобразователь ДОЛЖЕН быть доступен в том месте, где вы пишете запрос фильтра.

person viator    schedule 25.09.2014
comment
За вопрос и ответ +2. Я переместил в свой контроллер свой неявный преобразователь и импортировал import java.util.Date. Это работает отлично. Спасибо. implicit val date2SqlDate = MappedColumnType.base[Date, java.sql.Timestamp]( d => new java.sql.Timestamp(d.getTime), d => new java.util.Date(d.getTime) ) - person Bob; 26.09.2014

вы должны импортировать это в свой файл

import com.github.tototoshi.slick.JdbcJodaSupport._

а это библиотека "com.github.tototoshi" %% "slick-joda-mapper" % "1.2.0"

person Ionut    schedule 04.09.2014