我有以下类
/**
* @Discriminator(field = "type", map = {
* "b":"B",
"c":"C",
* })
*/
abstract class A {}
class B extends A { ... }
class C extends A {
/**
* @var A
* @Serializer'Type("A")
*/
$a
}
现在当我序列化C
类的对象时:
没有找到基类"A"的标识符字段名"type"在输入数据中。
你知道我哪里做错了吗?我正在使用JMS序列化器。
编辑
当我试图反序列化序列化的对象时,我得到了这个异常。
抽象类不能初始化,因此不能反序列化。如果你需要你的类A,你应该把它改成一个普通的类,而不是抽象的。
我有一个类似的问题一年前,这是我的解决方案:JMS序列化反序列化与抽象父类