Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 为trait中由同名对象实现的类播放json OWrites_Scala_Playframework_Slick_Play Json_Play Slick - Fatal编程技术网

Scala 为trait中由同名对象实现的类播放json OWrites

Scala 为trait中由同名对象实现的类播放json OWrites,scala,playframework,slick,play-json,play-slick,Scala,Playframework,Slick,Play Json,Play Slick,当slick生成代码时,是这样的(sample1/Tables.scala): 包样本1 对象表扩展{ val配置文件=??? }有桌子 性状表{ 案例类Class1Row(num:Int) } 我只想使用play json转储db对象,所以我需要OWrites(在sample1/X.scala中): 包样本1 导入play.api.libs.json.{json,Writes} 对象X{ 隐式val ClassWrites:Writes[Tables.ClassRow]=Json.Write

当slick生成代码时,是这样的(sample1/Tables.scala):

包样本1
对象表扩展{
val配置文件=???
}有桌子
性状表{
案例类Class1Row(num:Int)
}
我只想使用play json转储db对象,所以我需要OWrites(在sample1/X.scala中):

包样本1
导入play.api.libs.json.{json,Writes}
对象X{
隐式val ClassWrites:Writes[Tables.ClassRow]=Json.Writes[Tables.ClassRow]
}
在编译时,它会抱怨:

sample1/X.scala:6:68
type mismatch;
 found   : Tables.this.Class1Row => Option[Int]
 required: sample1.Tables.Class1Row => Option[Int]
  implicit val class1Writes: Writes[Tables.Class1Row] = Json.writes[Tables.Class1Row]
当我已经在val赋值的两侧指定了相同的类型时,为什么会出现编译问题?

在谷歌搜索了一段时间(很多小时)后,发现这是一个没有修复的已知问题

关门了。 目前正在开放

我现在通过使用从slick的代码生成器扩展而来的自定义代码生成器来解决这个问题,该生成器将案例类置于trait之外,如下所示: