在Slick 3.1.1中比较日期

时间:2016-03-22 18:43:17

标签: scala slick slick-3.0

我正在尝试使用光滑的3.1编写一个简单的过滤器查询。我成功地为Integer Types编写了转换为Rep [Integer]的整数类型。但是如何实现java.util.Date的比较,它在转换器查询中转换为Rep [Date]?

val compareWithDate = new GregorianCalendar(2014, Calendar.FEBRUARY, 11).getTime()  // for example
val persons = TableQuery[Persons]
dbConfig.db.run(persons.filter(???))

1 个答案:

答案 0 :(得分:2)

您可以使用slick-joda-mapper https://github.com/tototoshi/slick-joda-mapper并将您的类型转换为可在过滤器中轻松使用的Rep [DateTime]

使用起来非常简单,只需导入您需要的joda支持,就可以使用这些类型的对象:

  

DateTime,Instant,LocalDateTime,LocalDate,LocalTime,DateTimeZone

在你的桌子上你会有这样的东西:

def createdDt = column[DateTime]("created_dt")

在这里查看一些示例:https://github.com/tototoshi/slick-joda-mapper/blob/master/src/test/scala/com/github/tototoshi/slick/JodaSupportSpec.scala#L191