【发布时间】:2015-01-05 10:43:37
【问题描述】:
我知道我可以在 Slick 中定义一个表格,如下所示:
class MyTable(tag: Tag)
但究竟是什么?
我阅读了文档,上面写着:
标签标记由 AbstractTable 实例表示的特定行。
这对我没有帮助,
- 特定行是什么意思?
- 它是如何表示的?
- 为什么我需要在我的ctor中定义它?
- 为什么叫
Tag是什么标签? - 我需要在创建
Table类时编写此Tag,但我想了解我为什么编写此代码,而不仅仅是遵循slick,它告诉我这是定义表的方式。李>
【问题讨论】:
-
source 能帮到你吗?
-
我查看了这个来源,它一直说:“一个标签标记了一个特定的行”为什么? “返回带有此标签的 AbstractTable 的新实例”为什么? “def taggedAs(path: Node): AbstractTable[_]” 为什么要标记它? “代表节点的表实例的标签”好的,那么什么是标签? “抽象类 RefTag(val 路径:节点)扩展标签”所以有一个 ref 标签它是什么? “trait BaseTag extends Tag”另一个标签是什么? “密封特征标签”为什么需要它?
-
如果你理解“标签”这个词,那么不难理解什么是标签(或者如果你是外国人,请跳转到Google translator)。当你创建一个表时,你给它一个标签,因为 AbstractTable 的每个实例都需要它。当 slick 生成 SQL 时,这些标签可以在我认为的 AST 节点中提供新路径。标记可以表示为 tablemodel 的 id。
标签: slick