我注意到在Spring-boot中很多人创建了模型/实体并实现了Serialiazable
接口。
public class ModelBase implements Serializable
我理解序列化数据/类意味着什么,因为它使您能够保存类的状态(例如,如果我没有错,则保存到文件中)。
但我相信只有在必要时才应该这样做,但无论哪种方式,人们似乎都倾向于实现界面。
有不同的原因吗?
答案 0 :(得分:0)
如果您的模型或实体要跨越多个JVM,那么您可能需要考虑实现Serializable接口。你应该谨慎行事。您还应该为序列化期间要使用的类提供有效的UUID,反之亦然。
示例
private static final long serialVersionUID = 9178661439383356177L;
并且
根据JPA规范:
如果要将实体实例作为分离对象(例如,通过远程接口)传递,则实体类必须实现Serializable接口。
另外
使用可序列化值时,可以通过两种方式更改实体类来删除此冗余:
使实体类可序列化,因此可以用它来代替值类。
使关键字段成为瞬态,因此它们不会冗余地存储在记录中。
https://docs.oracle.com/cd/E17277_02/html/collections/tutorial/SerializableEntity.html