2つのテーブルの間に通常の親子関係があるとしましょう(employers
とemployees
)。 employees
でUUIDを入力できますか?
フィールドemployerId
は本当にemployers
でid
に唯一匹敵する(および他のテーブルでemployerId
まで)。型の安全性の利益では、私は別のUUID[Employers]
列以外にUUID[Employers]
列を比較
class Employees(tag: Tag) extends Table[Employees](tag, "employees") {
def id = column[UUID[Employees]]("id")
def employerId = column[UUID[Employers]]("employerId")
...
}
としてemployers
を表現したい、または平等以外の任意の比較を使用すると、鉱山を含め、ほとんどのスキーマに(無意味だろう)、私はコンパイル時にその事実をキャプチャしたいと思います。明らかに、実際のUUIDは型パラメータをとらないが、この必要性は一般的である。それはできますか?
コンテナ/ラッパークラス_e.g._を使用すると、内部的にUUIDが含まれていますが、コードを消費するためのID自体がケースクラスですか?あなたは好きなタイプのチェックを受け取りますが、アクセッサの面では、含まれた/ラップされたUUIDを使用するためにちょっとした作業が必要になります。 – Castaglia
@Castaglia - 特定の_existing_タイプまたはタイプライブラリを探していました。下記の[私の答え](http://stackoverflow.com/a/36338795/238884)を参照してください。 – Malvolio