簡體   English   中英

為什么要在模型上實現 Serializable?

[英]Why implement Serializable on models?

我注意到在 Spring-boot 中很多人創建模型/實體並實現Serialiazable接口。

public class ModelBase implements Serializable 

我理解序列化數據/類意味着什么,因為它使您能夠保存類的狀態(如果我沒有錯,例如保存到文件中)。

但我相信這應該只在必要時才這樣做,但無論哪種方式,人們似乎都傾向於實現接口。

有什么不同的原因嗎?

當您的模型或實體打算跨多個 JVM 傳輸時,您可能需要考慮實現 Serializable 接口。 您應該謹慎執行此操作。 您還應該為要在序列化期間使用的類提供有效的 UUID,反之亦然。

樣本是

private static final long serialVersionUID = 9178661439383356177L;

根據 JPA 規范:

如果實體實例要作為分離對象按值傳遞(例如,通過遠程接口),則實體類必須實現 Serializable 接口。

使用可序列化值時,可以通過兩種方式更改實體類來消除這種冗余:

使實體類可序列化,以便它可以代替值類使用。

使關鍵字段瞬態化,因此它們不會冗余存儲在記錄中。

https://docs.oracle.com/cd/E17277_02/html/collections/tutorial/SerializableEntity.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM