为什么de.hybris.platform.core.model.product.ProductModel
中没有serialVersionUID?
我们在从savedValueEntry
反序列化产品模型时面临问题。
答案 0 :(得分:0)
因为它不是强制性的。
如果可序列化类没有显式声明serialVersionUID,则序列化运行时将根据类的各个方面计算该类的默认serialVersionUID值,如Java(TM) Object Serialization Specification中所述。
除非您更改编译器,否则不应该对其进行反序列化。
我实际上并不理解你对savedValueEntry
的问题。可能存在混淆,对象没有被序列化,但它们包含的值被加密并保存在数据库中。
答案 1 :(得分:0)
serialVersionUID表示特定时间点的班级版本。如果修改了类,则serialVersionUID应该更改。因此,当JDK反序列化同一个类的对象时,它知道要将其反序列化的类的哪个版本。
但是对于hybris Item模型类,每次更改项类型和/或其属性时,它都会有一个新的serialVersionUID,它与早期版本不同。因此,将一个serialVersionUID指定给一个旨在经常更改的Item模型类没有任何意义。
简而言之,serialVersionUID主要用于需要通过网络传输对象或需要显式反序列化对象的地方。 hybris产品型号并非如此。
当您遇到检索savedEntry值的问题时,您能否指出我的具体情况