Slick:获取 table 名称
Slick: get table name
使用这样的 table 定义:
class Test(_tableTag: Tag) extends Table[TestRow](_tableTag, "test") { ... }
如何从 Test
的实例中取回 table 名称(标记 "test")?
问题是我可以完美地执行某些查询,例如 db run TableQuery[Test].result
,但是要编写原始 sql,我需要 table 名称。
如果您查看 Slick 的 TableQuery
ScalaDoc,有一个名为 baseTableRow
的方法,它说:
def baseTableRow: E
Get the "raw" table row that represents the table itself, as opposed
to a Path for a variable of the table's type. This method should
generally not be called from user code.
所以你去 E <: AbstractTable
的 "definition" (AbstractTable
) Scaladoc 找到你需要的东西,即 val tableName: String
。这里的诀窍是知道在哪里看(可能的隐式转换和其他东西......),即如何导航 Scala(Doc) rabbithole。 xD
使用这样的 table 定义:
class Test(_tableTag: Tag) extends Table[TestRow](_tableTag, "test") { ... }
如何从 Test
的实例中取回 table 名称(标记 "test")?
问题是我可以完美地执行某些查询,例如 db run TableQuery[Test].result
,但是要编写原始 sql,我需要 table 名称。
如果您查看 Slick 的 TableQuery
ScalaDoc,有一个名为 baseTableRow
的方法,它说:
def baseTableRow: E
Get the "raw" table row that represents the table itself, as opposed to a Path for a variable of the table's type. This method should generally not be called from user code.
所以你去 E <: AbstractTable
的 "definition" (AbstractTable
) Scaladoc 找到你需要的东西,即 val tableName: String
。这里的诀窍是知道在哪里看(可能的隐式转换和其他东西......),即如何导航 Scala(Doc) rabbithole。 xD