使用sorm框架只获取一个字段

时间:2016-08-18 13:28:01

标签: scala sorm

是否可以使用SORM Framework

从数据库中仅获取一个字段

我想要的纯SQL是:

SELECT node_id FROM messages

我似乎无法在sorm中重现这一点。我知道这可能与sorm应该如何工作有关,但是现在我有两个巨大的表,有不同类型的消息。我被要求从两个表中获得所有唯一的node_id

我知道我可以使用sorm查询这两个表并解析所有数据,但我想让数据库工作。显然,如果在单个数据库调用中只能得到唯一的node_id,那就更好了。

现在只需查询所有内容并解析它,就需要太长时间。

1 个答案:

答案 0 :(得分:0)

似乎没有ORM支持你想要做什么,除非node_id恰好是你的Message对象的主键:

val messages = Db.query[Message].fetchIds()

在这种情况下,您不必担心它是UNIQUE,因为主键根据定义是唯一的。或者,您可以运行自定义SQL查询:

Db.fetchWithSql[Message]("SELECT DISTINCT node_id FROM messages")

请注意,后者可能输入错误:您必须针对您的数据库进行尝试。您可能需要fetchWithSql[Int]或其他一些变体:目前还不清楚SORM在未查询主键的情况下会做什么。