使用Anorm的SqlParser问题

时间:2016-07-22 18:53:35

标签: scala anorm

我正在尝试解析一些SQL并将其保存为PushMessage(这是一个类,而不是案例类 - 不知道这是否重要)。遵循Anorm文档我

 implicit val parser: RowParser[PushMessage] = Macro.namedParser[PushMessage]

  val result = db.withConnection { implicit connection: Connection =>

    SQL"select * from PUSH_MESSAGES where VENDOR_ID=$requestedVendorId;".as(parser.*)
  }

然而,我遇到了一个问题,因为IntelliJ告诉我Macro.namedParser [PushMessage]返回Any,而不是RowParser [PushMessage]。我尝试删除声明类型,但后来无法使用.as(parser.*)语法运行解析器。

如何让它返回RowParser?

提前致谢,

1 个答案:

答案 0 :(得分:2)

我猜您在2.5.1(2016年4月)之前使用的是Anorm版本,当时宏已更新为使用whitebox context。在这种情况下,IDE无法正确推断返回类型。

  

请注意Anorm 2.5.2 has just been released