光滑:得到表名

Jul*_*enD 1 slick-3.0

使用像这样的表定义:

class Test(_tableTag: Tag) extends Table[TestRow](_tableTag, "test") { ... }
Run Code Online (Sandbox Code Playgroud)

如何从一个实例中取回表名(Tag"test")Test

问题是我可以完美地执行一些查询db run TableQuery[Test].result,但是要编写原始sql,我需要表名.

ins*_*n-e 5

如果你看一下Slick的TableQueryScalaDoc,就会有一个叫做的方法baseTableRow:

def baseTableRow: E

获取表示表本身的"原始"表行,而不是表的类型变量的Path.通常不应从用户代码调用此方法.

所以你去了E <: AbstractTable"定义"(AbstractTable)Scaladoc并找到你需要的东西,即val tableName: String.这里的诀窍是知道在哪里看(可能是隐式转换和其他东西......),也就是说,如何导航Scala(Doc)rabbithole.的xD