Scala Slick 2.0:无法使用HList将java.sql.Timestamp插入表中

Scala Slick 2.0:无法使用HList将java.sql.Timestamp插入表中,scala,casting,timestamp,slick,Scala,Casting,Timestamp,Slick,我在这个脚本中遇到了一个类强制转换异常,我根本不知道为什么。错误是: java.lang.ClassCastException:java.sql.Timestamp不能转换为scala.Product 这是我的密码: import java.sql.Timestamp import scala.slick.driver.MySQLDriver.simple._ import scala.slick.collection.heterogenous._ import syntax._ import

我在这个脚本中遇到了一个类强制转换异常,我根本不知道为什么。错误是:

java.lang.ClassCastException:java.sql.Timestamp不能转换为scala.Product

这是我的密码:

import java.sql.Timestamp
import scala.slick.driver.MySQLDriver.simple._
import scala.slick.collection.heterogenous._
import syntax._
import org.joda.time.DateTime
import db.DealDAO
import DateTimeImplicits._

// Implicitly convert DateTime to Timestamp (and it seems to work)
object DateTimeImplicits {
   implicit def DateTime2Timestamp(value : DateTime) = new Timestamp(value.getMillis) 
}

object TryHList {

  class Tests(tag: Tag) extends Table[Timestamp :: HNil](tag, "tests") {
    def timeCol = column[Timestamp]("time_col")
    def * = (timeCol :: HNil)
  }

  def tests = TableQuery[Tests]

  def createTable = DealDAO.db.withSession { implicit session =>
    tests.ddl.create
  }

  def insert(dt: DateTime) = DealDAO.db.withSession { implicit session =>
    tests += (dt :: HNil)
  }

}

object Main {

  def main(args: Array[String]): Unit = {
  //  TryHList.createTable
     TryHList.insert(new DateTime())
  }
}

在使用1元素HList时,您在Slick中发现了一个bug。我提交了2.0.1的修复程序(RC1可能会在下周末到达):

无关:如果你还不知道,那就去看看吧