如何在Slick 3中过滤复合主键

时间:2018-07-11 13:21:42

标签: scala slick slick-3.0

我是Slick 3的新手。我想使用Slick按照以下查询过滤复合主键。

SELECT * FROM test_table WHERE (pk1, pk2) IN (("a1", "a2"), ("b1", "b2"));

我知道Slick可以过滤多个条件,例如

TestTableQuery.filter(t => t.pk1 === "a1" && t.pk2 === "a2")

此外,我知道Slick可以像

一样过滤多个值(这意味着IN刻度​​)。
val pkSeq = Seq("a1", "b1")
TestTableQuery.filter(t => t.pk1.inSet(pkSeq))

所以,如果可能的话,我想写如下。

val pk1AndPk2Seq = Seq(("a1", "a2"), ("b1", "b2"))
TestTableQuery.filter(t => (t.pk1, t.pk2).inSet(pk1AndPk2Seq))

有什么办法吗?谢谢。

0 个答案:

没有答案