假设我有一个通用类型的规范化数据库模型,如下所示:
case class BaseModel(id: String,
createdBy: String,
attr1: Option[String] = None,
attr2: Option[Int] = None,
attr3: Option[LocalDate] = None)
给定一个BaseModel
序列,如果某个特定Option
属性的 all 字段未填充,可以无形地为我创建一个简化的模型吗?
例如,假设所有attr1
字段均为空。 无需我事先指定对象就可以无形地创建看起来像这样的通用对象吗?
case class BaseModel(id: String,
createdBy: String,
attr2: Option[Int] = None,
attr3: Option[LocalDate] = None)
答案 0 :(得分:1)
Shapeless可以做的是,在给定两个case类的情况下,从另一个对象创建一个对象。
include <SDL2/SDL.h>
但是Shapeless无法创建新的case类。如果需要自动创建新的案例类,则可以编写宏。