Transient(英文意思为短暂的; 转瞬即逝的; 临时的),是java中的关键字之一。该关键字是在java中对model中的字段进行标记的字段,用于避免字段的序列化,且该关键字仅能用于字段。
实体类:
package com.cupid.bean; import javax.persistence.Entity; import javax.persistence.Id; import java.io.Serializable; /** * Created by Cupid520 on 2017/9/24. * This is a normal class * student entity */ @Entity public class Student implements Serializable { private static final long serialVersionUID = 1L; @Id private Integer nid; private String name; private Integer age; private transient String pwsd; public Integer getNid() { return nid; } public void setNid(Integer nid) { this.nid = nid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getPwsd() { return pwsd; } public void setPwsd(String pwsd) { this.pwsd = pwsd; } @Override public String toString() { return "Student{" + "nid=" + nid + ", name='" + name + '\'' + ", age=" + age + ", pwsd='" + pwsd + '\'' + '}'; } }
测试类:
短暂的; 转瞬即逝的; 临时的;
短暂的; 转瞬即逝的; 临时的;
package com.cupid.test; import com.cupid.bean.Student; import jdk.nashorn.internal.ir.CatchNode; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * @Author: cupid * Created by Cupid520 on 2018/2/20. * @Description: */ public class TransientTest { public static void main(String[] args) { Student student = new Student(); student.setNid(02); student.setName("张三"); student.setAge(23); student.setPwsd("12398700"); System.out.println("student : " + student); try { ObjectOutputStream outputStream = new ObjectOutputStream( new FileOutputStream("d:/transient.txt")); outputStream.writeObject(student); outputStream.flush(); outputStream.close(); }catch (Exception e){ e.printStackTrace(); } try{ ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream("d:/transient.txt")); Student student1 = (Student) inputStream.readObject(); inputStream.close(); System.out.println(student1.toString()); } catch(Exception e){ e.printStackTrace(); } } }
输出结果:student : Student{nid=2, name='张三', age=23, pwsd='12398700'}
Student{nid=2, name='张三', age=23, pwsd='null'}