ScalaQuery と Squerylの比較で、Stefan Zeiger (ScalaQuery の作者) は 3 番目の箇条書きで次のように述べています。
ScalaQuery は JDBC 型の基本セットをサポートしており、DBMS 固有またはアプリケーション固有の型で拡張できます。
ただし、実際にこれを行う方法の例や説明を見つけることができませんでした。Postgres データベース用の ScalaQuery スキーマを作成しようとしています。このスキーマでは、Postgres 内で作成したカスタム列挙型の列がいくつかあります。
たとえば、gender
可能な値male
とを持つ という列挙型がありfemale
ます。これは Java 列挙型ではなく、整数としてデータベースに永続化されます。むしろ、DBMS 内で定義されたカスタム Postgres タイプです。Postgres は、これらをプリミティブとしてではなく、特別な 4 バイトのデータ構造で保存します。
gender
タイプの Postgres 列をScalaQuery スキーマ に組み込むにはどうすればよいですか?
(また、別の強く型付けされた O/R アプローチがタスクにより適していると思われる場合は、コメントをいただければ幸いです。私は既に Squeryl を見てきましたが、カスタム型がプリミティブとして永続化されていない限り、カスタム型を処理できるとは考えていません。 DBMS)。