完全构建Ad-hoc Slick查询

时间:2014-03-04 22:45:19

标签: slick scala-2.10

请原谅我的新手,但我试图使用光滑的方法构建一个完全临时的查询构建器。从我们的API中,我将得到一个代表该表的字符串列表,以及另一个表示表的过滤器的列表,然后一起创建一个查询。希望是我可以采取这些并创建内部联接。我正在尝试做的一个类似的例子是JIRA的高级查询构建器。

我一直在尝试使用反射构建它,但我遇到了很多阻塞问题,我想知道这是否甚至可能。

在代码中,这就是我想要做的事情:

def getTableQueryFor(tbl:String):TableQuery[_] = {
   ... a matcher that returns a tableQueries?
   ... i think the return type is incorrect b/c erasure?
}


def getJoinConditionFor:(tbl1:String, tbl2:String) => scala.slick.lifted.Column[Boolean] = (l:Coffees,r:Suppies) => {
    ...a matcher
}

以下甚至可能吗?

val q1 = getTableQueryFor("coffee")
val q2 = getTableQueryFor("supply")
val q3 = q1.innerJoin.q2.on(getJoinCondition("coffee", "supply")

编辑:修正了语法问题。

0 个答案:

没有答案