如何在 Scala Slick 中映射一个 Map 对象
How to map a Map Object in Scala Slick
我想在我的 Scala 项目中使用 Scala Slick 作为 FRM。我有以下案例 class 映射到 table.
case class Person(name: String, pairs: Map[String, String])
如何将这种情况 class 映射到 Slick?
class Person(tag: Tag) extends Table[(String, Double)](tag, "PERSON") {
def name = column[String]("NAME", O.PrimaryKey)
???
def * = (name, ???)
}
val person = TableQuery[Person]
传统上,在关系数据库中,键值对可以存储为单独的 table:
类似于:
CREATE TABLE person_pairs (person_id LONG, key TEXT, value TEXT)
类似的方法适用于序列和其他结构。
但是,如果您使用的是 postgres,则可以使用 slick-pg 扩展库来使用 hstore
列。这会将您的 hstore(基本上是一组键值对)映射到一个 Map,这就是您要查找的内容
我想在我的 Scala 项目中使用 Scala Slick 作为 FRM。我有以下案例 class 映射到 table.
case class Person(name: String, pairs: Map[String, String])
如何将这种情况 class 映射到 Slick?
class Person(tag: Tag) extends Table[(String, Double)](tag, "PERSON") {
def name = column[String]("NAME", O.PrimaryKey)
???
def * = (name, ???)
}
val person = TableQuery[Person]
传统上,在关系数据库中,键值对可以存储为单独的 table:
类似于:
CREATE TABLE person_pairs (person_id LONG, key TEXT, value TEXT)
类似的方法适用于序列和其他结构。
但是,如果您使用的是 postgres,则可以使用 slick-pg 扩展库来使用 hstore
列。这会将您的 hstore(基本上是一组键值对)映射到一个 Map,这就是您要查找的内容