如何在Scala Slick中映射地图对象

时间:2015-10-01 01:36:43

标签: java scala slick

我想在我的Scala项目中使用Scala Slick作为FRM。我有以下案例类映射到表。

case class Person(name: String, pairs: Map[String, String])

如何将此案例类映射到Slick?

class Person(tag: Tag) extends Table[(String, Double)](tag, "PERSON") {
  def name = column[String]("NAME", O.PrimaryKey)
  ???
  def * = (name, ???)
}
val person = TableQuery[Person]

1 个答案:

答案 0 :(得分:1)

传统上,在关系数据库中,键值对可以存储为单独的表:

类似的东西:

CREATE TABLE person_pairs (person_id LONG, key TEXT, value TEXT)

类似于序列和其他结构的东西。

但是,如果您使用的是postgres,则可以使用slick-pg扩展程序库使用hstore列。这会将你的hstore(基本上是一组键值对)映射到Map,这就是你要找的东西