【问题标题】:Java non-persistent but serializable variableJava 非持久但可序列化的变量
【发布时间】:2020-05-27 00:03:33
【问题描述】:

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

我使用了注解@javax.persistence.Transient,但由于@Transient 变量不可序列化,所以它不能按我想要的方式工作。

【问题讨论】:

    标签: java serialization persistence transient


    【解决方案1】:

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

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

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

    【讨论】:

    • 抱歉,final 字段不是变量。 :) 感谢分享知识。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2011-12-11
    • 1970-01-01
    相关资源
    最近更新 更多