光滑 - 使用可选 blob 创建架构 收到错误:类型 "lo" 不存在



我正在使用带有postgreSQL和光滑的Play Evaluation

这是型号:

case class Employee(id: Int,first:String,last:String,title:String,pic: Option[Blob])
class Employees(tag:Tag) extends Table[Employee](tag,"EMPLOYEES"){
  def id = column[Int]("ID",O.PrimaryKey, O.NotNull)
  def first = column[String]("LAST", O.NotNull)
  def last = column[String]("LAST", O.NotNull)
  def title = column[String]("TITLE")
  def pic = column[Blob]("PICTURE",O.Nullable)
  override def * = (id,first,last,title,pic.?)<> (Employee.tupled,Employee.unapply)
}

但我得到了这个

错误:类型"lo"不存在

创建的sql显示:

create table "EMPLOYEES" ("ID" INTEGER NOT NULL PRIMARY KEY,"LAST" VARCHAR(254) NOT NULL,"TITLE" VARCHAR(254) NOT NULL,"PICTURE" lo);

这种"lo"型是从哪里来的?我该如何修复它?

您能在类Employees中放入下面两个隐式方法并尝试吗?

private implicit def blob2Bytes(blob: java.sql.Blob): Array[Byte] = {
  if (blob.length == 0)
    return Array[Byte]()
  val r = blob.getBytes(1, blob.length.toInt)
  blob.free
  r
}
private implicit def bytes2Blob(bytes: Array[Byte]) = {
  new SerialBlob(bytes)
}

相关内容

最新更新