我一直在使用幻象DSL查詢卡桑德拉幻象DSL問題包含和排序
def getByGenreAndYear(genre: List[String], year: Int) : Future[Seq[Movie]] = {
var criteria = select.where(_.genre contains genre.head)
criteria = genre.tail.foldLeft(criteria){(accum, i) => accum.and(_.genre contains i)}
criteria.and(_.year eqs year)
criteria.allowFiltering().fetch()
}
它可以這樣寫Scala代碼,但我有幾個問題
- 集包含
查詢某個集合是否包含值時。像我所做的那樣構建查詢條件是否正確?基本上我對每個我們想要檢查的值都有一個AND子句。這會不會在單杆已經做過類似
select.where(_.genre contains genreList)
- 排序
我不能夠產生排序查詢。當我嘗試做
def getByGenreAndYear(genre: List[String], year: Int) : Future[Seq[Movie]] = {
var criteria = select.where(_.genre contains genre.head)
criteria = genre.tail.foldLeft(criteria){(accum, i) => accum.and(_.genre contains i)}
criteria.and(_.year eqs year)
criteria.orderBy(_.year desc)
criteria.allowFiltering().fetch()
}
代碼desn't甚至編譯
你能指定確切的編譯錯誤嗎?表格模式也不在這裏,我星期一早上只能運用這麼多的洞察力。 – flavian