首页 > 解决方案 > Java 非持久但可序列化的变量

问题描述

在java中,如何声明一个对数据库不持久但可序列化的变量,以便该变量存在于包含该变量的对象的JSON表示中?

我使用了 annotation @javax.persistence.Transient,但它不能按我想要的方式工作,因为@Transient变量不可序列化。

标签: javaserializationpersistencetransient

解决方案


该问题可以通过使用修饰符的特定解决方法来解决。为了避免持久化字段,您有 4 个选项:使用修饰符标记字段staticfinaltransient;或添加@Transient注释。这些中的每一个都将阻止该字段被持久化到数据库中(请参见此处)。

不过,并非所有这些限制也适用于序列化。静态瞬态修饰符将阻止序列化,但final修饰符不会 - 它不会被持久化但会被序列化(在这种情况下反序列化会更长一些,但可能)。

我希望这将适用于您的问题。


推荐阅读