【发布时间】:2011-07-11 20:42:48
【问题描述】:
我在某处看到
transient private TrackDAO trackDAO;
【问题讨论】:
我在某处看到
transient private TrackDAO trackDAO;
【问题讨论】:
Google 是你的朋友 - first hit - 你也可以先看看 serialization 是什么。
它标记一个成员变量不是 当它被持久化到时被序列化 字节流。当一个对象是 通过网络传输, 对象需要“序列化”。 序列化转换对象 状态到串行字节。这些字节是 通过网络和对象发送 从这些字节重新创建。成员 由 java 瞬态标记的变量 关键字没有被转移,它们是 故意丢失。
此处的示例,稍作修改(感谢@pgras):
public class Foo implements Serializable
{
private String saveMe;
private transient String dontSaveMe;
private transient String password;
//...
}
【讨论】:
Integer 不是关键字,它是一个类。
表示trackDAO不应该被序列化。
【讨论】:
transient 关键字有关。
javax.persistence.Transient。在这种情况下,它的作用与transient 关键字相比相似。然而,重要的区别在于 transient 关键字适用于序列化,而 @Transient 注释适用于使用 JPA 持久化对象。
Java 中的瞬态变量永远不会被序列化。
【讨论】: