将ANORM SELECT参数设置为null

时间:2012-10-01 14:48:51

标签: scala select parameters null anorm

我正在尝试执行SELECT语句,其中参数可能具有空值:

SQL(
      """
      SELECT id FROM devices WHERE
        name = {name}
      """)
  .on("name" -> device.name)()
  .collectFirst {
     ...
  }.getOrElse {
     ...
  }

device.name可以返回null。使用db.default.logStatements=true我看到生成的SQL如下所示:SELECT id FROM devices WHERE name = NULL

name = NULL对Postgre SQL不太有效,但我使用transform_null_equals启用了它。现在,当我使用pgAdmin从日志执行SQL时,它可以正常工作。但是,ANORM找不到任何东西。

以下代码确实返回结果:

SQL(
      """
      SELECT id FROM devices WHERE
        name = NULL
      """)
  .on("name" -> device.name)()
  .collectFirst {
      ...
  }.getOrElse {
     ...
  }

它出了什么问题?!

0 个答案:

没有答案