play-slick 1.0.0:无法定义类型为 java.sql.Date 的列

Posted

技术标签:

【中文标题】play-slick 1.0.0:无法定义类型为 java.sql.Date 的列【英文标题】:play-slick 1.0.0: Cannot define column with type of java.sql.Date 【发布时间】:2015-05-23 14:21:47 【问题描述】:

我目前正在尝试使用 play-framework 2.4.0-RC5 和 play-slick 1.0.0-RC3 定义一个如下所示的 slick 架构:

import java.sql.Date
import play.api.Play
import play.api.db.slick.DatabaseConfigProvider, HasDatabaseConfig
import slick.profile.RelationalProfile

class Dao extends HasDatabaseConfig[RelationalProfile] 
  protected val dbConfig = DatabaseConfigProvider.get[RelationalProfile](Play.current)

  import driver.api._

  private class Tab(tag: Tag) extends Table[(Int, Date)](tag, "tab") 
    def id = column[Int]("id", O.PrimaryKey)
    def createDate = column[Date]("create_date")
    def * = (id, createDate)
  

  // ...dao methods

在编译时,scala 失败并出现错误:

[error] Dao.scala:17: could not find implicit value for parameter tt: slick.ast.TypedType[java.sql.Date]
[error]     def createDate = column[Date]("create_date")

根据 slick docs,java.sql.Date 应该支持开箱即用,那么我在这里做错了什么?非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

终于找到了解决办法。将 import slick.profile.RelationalProfile 替换为 slick.driver.JdbcProfile 对我有用。

【讨论】:

以上是关于play-slick 1.0.0:无法定义类型为 java.sql.Date 的列的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误

未捕获的类型错误:无法设置未定义的属性 [重复]

play-slick升级后运行激活器失败

Mysql play-slick 连接超时错误

Play-Slick 插件是不是完全支持 Slick 2.0?

使用 Slick 3.0 在同一事务中进行多次插入