2

我对 Scala 相当陌生,目前对我们的 MySQL 数据库使用一个名为 Squeryl 的 ORM。

我要做的是查找属于某个时间范围的复数记录。例如,在纯 SQL 中,我认为它会是这样的:

    SELECT * FROM records WHERE updated_at >= ? AND updated_at < ? 

但是,我的 Scala 代码实现了如下类似的行为,在“from(records)”中的左括号处给了我一个错误,说“java.util.Date 不接受参数”

    def getRecordsBetween(from:java.util.Date, til:java.util.Date):List[Record]
      transaction {
        from(records)(record =>
          where(
            record.updatedAt gte from and
            record.updatedAt lt til
          )
          select(record)
        ).toList
      }
    }

(其中 val 记录 = tableRecord

我在这里做错了什么?提前非常感谢。

4

1 回答 1

3

方法参数和方法在 Scala 中位于同一个命名空间中,因此您的from方法参数正在“隐藏”您带入作用域的(或)对象from上的方法,如下所示:PrimitiveTypeModeCustomTypeMode

import org.squeryl.PrimitiveTypeMode._

只需将参数名称更改为fromDateorstart或其他任何内容,就可以了。

于 2012-07-15T13:39:05.803 回答