2016-03-22 11 views
0

Ich versuche, eine einfache Filterabfrage mit Slick 3.1 zu schreiben. Ich konnte erfolgreich für Integer-Typen schreiben, die in Rep [Integer] umgewandelt werden. Aber wie erreicht man einen Vergleich für java.util.Date, der innerhalb der Filterabfrage in Rep [Date] umgewandelt wird?Daten in Slick vergleichen 3.1.1

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

Antwort

2

können Sie slick-joda-mapper verwenden https://github.com/tototoshi/slick-joda-mapper und Ihre Typen Rep konvertieren [Datetime], die leicht in Filtern verwendet wird

es ist sehr einfach zu bedienen, einfach importieren, was Joda unterstützen Sie benötigen und Sie können diese Art verwenden der Objekte:

Datum- und Instant Local, LOCALDATE, Localtime, DateTimeZone

auf Tabelle finden Sie so etwas wie dieses:

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

werfen Sie einen Blick hier für einige Beispiele: https://github.com/tototoshi/slick-joda-mapper/blob/master/src/test/scala/com/github/tototoshi/slick/JodaSupportSpec.scala#L191