java - Java 非持久但可序列化的变量
问题描述
在java中,如何声明一个对数据库不持久但可序列化的变量,以便该变量存在于包含该变量的对象的JSON表示中?
我使用了 annotation @javax.persistence.Transient
,但它不能按我想要的方式工作,因为@Transient
变量不可序列化。
解决方案
该问题可以通过使用修饰符的特定解决方法来解决。为了避免持久化字段,您有 4 个选项:使用修饰符标记字段static、final或transient;或添加@Transient
注释。这些中的每一个都将阻止该字段被持久化到数据库中(请参见此处)。
不过,并非所有这些限制也适用于序列化。静态和瞬态修饰符将阻止序列化,但final修饰符不会 - 它不会被持久化但会被序列化(在这种情况下反序列化会更长一些,但可能)。
我希望这将适用于您的问题。