问题标签 [slick-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
722 浏览

mysql - 当案例类和对象名称相同时,slick 2 的 Scala 问题

好吧,实际上我有一些关于类名的问题,这是我的问题

我有一个这样的案例课,

和 Slick 的投影类,

不幸的是,案例类名 == 对象

这是一个旧代码,案例类和对象已在许多地方使用,因此我无法更改案例类或对象的名称,并且由于它们具有相同的名称,我在创建投影类时遇到问题,我在这一行中遇到错误:

当我更改案例类名称并在投影类中使用它时,它可以正常工作,我遇到了这个问题,因为案例类和对象具有相同的名称。有没有解决这个问题的方法,可以在不更改案例类/对象名称的情况下解决吗?

0 投票
1 回答
3582 浏览

scala - 如何在 slick 中为复杂案例类创建投影类?

例如我有这个案例类:

它实际上是一个安全的社会身份,现在 identityId 是案例类的一个对象:

那么如何为这样的情况创建投影类?如果我必须创建像 String,Int 这样的投影类数据类型,那没问题,但是用户定义的对象和类呢?

0 投票
1 回答
663 浏览

scala - 光滑 - 可选地包括/省略一个大列

假设我有一个包含许多小列和一个大(比如 BLOB)列的表:

在某些情况下,我想查询表中除列之外的所有large列。在其他情况下,我想包括它。我更喜欢使用案例类而不是元组。

Slick 中是否有很好的模式来执行此操作?

我考虑过的选项:

  1. 有两个映射——“瘦”和“胖”映射。
  2. 将大列拆分为单独的表,然后在需要时将其加入。
0 投票
1 回答
2809 浏览

scala - Play Slick 2.1.0 此 DBMS 仅允许从 INSERT 返回单个 AutoInc 列

在下面的代码中,我可以很好地插入我的记录。但我真的很想取回插入值的 ID,以便我可以将对象作为响应的一部分返回。

所以我尝试将插入更改为:

但我得到以下异常:

这里有一个注释:http: //slick.typesafe.com/doc/2.1.0/queries.html

“请注意,许多数据库系统只允许返回单个列,该列必须是表的自动递增主键。如果您要求其他列,则会在运行时引发 SlickException(除非数据库实际上支持它)。”

但它并没有说明如何只请求 ID 列。

0 投票
2 回答
743 浏览

scala - Slick 2.x 按映射列类型过滤(java.util.Date)

我在我的模型案例类中使用 java.util.Date。由于 Slick 不支持开箱即用的 juDate,因此implicit val dateColumnMapper = MappedColumnType.base[Date, SqlDate](d => new SqlDate(d.getTime), d => d)我在我的 Table 类中添加了这样的隐式映射。

但现在我坚持按日期字段过滤:proposalsQuery.filter(_.since >= since). 我尝试了不同的选项,但总是出现编译错误:value >= is not a member of scala.slick.lifted.Column[java.util.Date]

因为,我是 Scala/Slick 工作示例的新手,对问题的简单解释将不胜感激。

谢谢!

0 投票
1 回答
1494 浏览

scala - Slick 是否支持元组的“inSet”或“in”方法?

我正在使用 Slick 2.1.0 和 PostgreSQL 9.x。

如何使用 Slick 提升查询制作此 SQL(对于 postgresql 正确):

此代码无效(无法解析符号“in”):

0 投票
2 回答
1321 浏览

scala - slick 2 与 mappedColumn 映射多对一关系

我正在尝试用光滑的方式映射我的班级,这样我就可以坚持下去。我的业务对象是这样定义的

然后我为作者定义了“表”类:

对于书籍:

但是当我编译我得到这个错误

还有这个:

这里有什么错误?我对光滑有什么误解?先感谢您!

0 投票
0 回答
1303 浏览

mysql - 使用 slick 存储 joda 日期时间,始终存储 UTC 日期时间

我实际上在使用 slick 在 MySQL DB 中存储 DateTime 值时遇到问题,我有一个这样的案例类:

及其光滑的投影类:

现在,当我尝试插入数据时,当我为“America/New_York”定义时区时,MySQL 表中的结果日期显示 UTC 时区的时间戳

为什么日期存储在 UTC 时区而不是 EST 时区

0 投票
0 回答
737 浏览

scala - Slick 在没有正确错误解释的情况下抛出空指针异常

好吧,我一直在为我的游戏项目使用 Slick 2 for DB mgmt,但是下面的方法正在抛出Null Pointer Exception,我实际上无法找出抛出异常的原因。

其他与数据库相关的功能运行良好,就像我可以使用进化插件创建表一样。

投影类,

还有堆栈跟踪,

0 投票
0 回答
111 浏览

scala - Scala 流畅的惯用性和超越表定义样板

虽然 Scala 着手展开 Java 的样板实践(以及在此之前的一些其他东西,例如不变性、一流的函数式编程等),但 slick 库教程建议围绕简单的表定义提供很多样板:

我几乎无法将这个 api 使用示例称为惯用语。很容易枚举上面派生的工作代码中的所有重复项 - 对于表名、列类型、列名。我发现很难想象在我的代码库中使用这种风格来定义具有任何优雅风格的更大模式。

你最喜欢用什么方法来减少所有这些重复和冗长不再需要的东西?光滑的代码生成是唯一的解药吗?

我发现了这一点,但有时我真的更喜欢专注于应用程序逻辑,而不是深入研究库创建者的思想转储,尽管他们的贡献可能很慷慨。不要误会我的意思,我认为 slick 很酷,只是这么多的样板必须是一个天真的例子,可以以某种方式大大简化......