【问题标题】:Slick: why would I save "Unit" to my database?Slick:我为什么要将“Unit”保存到我的数据库中?
【发布时间】:2014-06-03 03:35:43
【问题描述】:

我是 Scala 和 Slick 的新手,对 Slick 文档中的某些内容感到惊讶:

以下原始类型支持开箱即用 JdbcProfile 中基于 JDBC 的数据库

  • ...
  • 单位
  • ...

我不明白为什么这个列表包含Unit。据我了解,Unit 类似于 Java 的 void,我既不能保存到数据库也不能从数据库接收。其背后的意图是什么?

编辑:你可以找到它here

【问题讨论】:

  • 和Java的void不太像。唯一的相似之处是它用于表示一个函数只有副作用,但这是句法上的而不是语义上的。 voidUnit 的主要区别在于没有void 类型的值,而Unit 类型的值只有一个。
  • @rightfold 您的评论如何解决 OP 的意图,我理解为“为什么 Slick 会尝试将 Unit 数据类型保存到 DB?”我也有兴趣知道:在这种情况下,Slick 是否会将 Null 保存到数据库 - 或其他不同的东西?

标签: scala slick


【解决方案1】:

查看 Slick 的一种方法是在您的数据库上运行 Scala 代码作为执行引擎。随着时间的推移,我们正在努力允许更多的 Scala 代码。包含单位的表达式,例如in a tuple 是一个有效的 Scala 表达式,因此应该可以由 Slick 运行,除非有充分的理由不这样做。所以我们支持单位。

【讨论】:

  • 看到一个例子会很棒
猜你喜欢
  • 2022-01-18
  • 2012-07-05
  • 1970-01-01
  • 2020-05-26
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
相关资源
最近更新 更多