【发布时间】:2019-01-30 00:51:26
【问题描述】:
我在一个项目中使用 Slick,为此我需要我的行的 Slick 表示,然后还需要一个内存表示。为简洁起见,我将在这里使用一个更简单的示例。比如说我有这两种类型:
type RawType =
(String, Int, Boolean)
type RawTypeRep =
(Rep[String], Rep[Int], Rep[Boolean])
有没有办法从另一个生成一个,所以我不必同步更新它们?
或者也许从一个案例类中生成它们?我确实有一个案例类表示,但它实际上与我所拥有的类型略有不同,因为当我对案例类进行水合时,我会进行一些导致类型更改的突变。
【问题讨论】:
-
我不知道具体的步骤,但我想到了两件事:1.正在探索 scala 宏,它应该能够做到这一点,即使我不知道如何 2. slick 是否带有一个代码生成器,用于根据您的数据库生成类,也许这是您可能愿意使用的东西?