Scala Protobuf:如何使用现有案例类
项目中已经使用了一些案例类。 这些类也用于slick映射。这些类扩展了一些额外的特性 我不想从Scala Protobuf:如何使用现有案例类,scala,protocol-buffers,protobuf-java,Scala,Protocol Buffers,Protobuf Java,项目中已经使用了一些案例类。 这些类也用于slick映射。这些类扩展了一些额外的特性 我不想从*.protodescription生成所有这些类 是否有机会在protobuf中扩展它们? 或者我应该用包装纸包装它们。这些包装将在*.proto中描述并从中生成。用于proto定义 message PBPerson { int64 id = 1; string name = 2; google.protobuf.StringValue phone = 3; repeated stri
*.proto
description生成所有这些类
是否有机会在protobuf
中扩展它们?
或者我应该用包装纸包装它们。这些包装将在*.proto
中描述并从中生成。用于proto定义
message PBPerson {
int64 id = 1;
string name = 2;
google.protobuf.StringValue phone = 3;
repeated string hobbies = 4;
}
case class Person(
id: Long,
name: String,
phone: Option[String],
hobbies: Seq[String])
和scala case类定义
message PBPerson {
int64 id = 1;
string name = 2;
google.protobuf.StringValue phone = 3;
repeated string hobbies = 4;
}
case class Person(
id: Long,
name: String,
phone: Option[String],
hobbies: Seq[String])
你可以用
此外,这个库使用scala宏来确保它是一个类型安全的转换。我明白了-你试过了吗?我个人不喜欢混合层,所以我会为Slick和Protobuf保留单独的case类。并使用(免责声明:我帮助创建了此库)将一个转换为另一个。我认为从case类继承非case类仍然不是,但这并不是一个好主意。