如何序列化一些类变量?

时间:2015-02-13 11:46:39

标签: java serialization

是否有可能选择一些我想序列化的类变量?

以下简单示例(只是为了演示我想要使用序列化的方式): 我有一个包含所有用户的数据库,每次启动我的应用程序时,我都会看到一个包含所有用户的屏幕。 拥有所有用户的最新列表并不重要。为了获得更好的性能,我将返回的用户列表(从数据库)保存到本地.dat文件,在下一个应用程序启动时,用户从.dat文件加载。每隔N分钟或用户要求刷新.dat文件... 由于安全性,我不想将密码保存到本地.dat文件,只需保存用户名,电子邮件,朋友即可。 如何实现这一点,我是否需要创建一个单独的UserWithoutPassword类,或者是否有可能为序列化选择变量?

@Entity
class User implements Serializable {
    String username;
    String email;
    String password;
    List<User> friends;

}

谢谢

2 个答案:

答案 0 :(得分:0)

您只需将某些字段声明为transient

transient int doNotSerialize;

他们不会被序列化。

答案 1 :(得分:0)

另一种方法是声明serialPersistentFields member并使用要序列化的字段名称填充它。