@transient 和 transient是兩碼事
1.@transient的作用
@transient是hibernate和Morphia中的注解,hibernate都熟悉,Morphia是通過同提供一系列圍繞mongo java驅動程序的注釋和包裝程序。
hibernate: 實體類中使用了@Table注解后,想要添加表中不存在字段,就要使用@Transient這個注解了。
morphia:想把某個屬性排除映射到Mongo中,可以使用@transient注解想
java中的transient是針對於對像序列化的,當一個對象實現了serilizable接口,這個對象就可以被序列化。對象的某些屬性需要序列化,而有些屬性不需要被序列化,例如,賬號密碼不想被序列化,這時候就可以在變量前面加上transient關鍵字。這個字段的周期僅存在於調用者內存中而不會被寫到磁盤里持久化。
總結:一旦被transient聲明的變量, 將不是對象持久化的一部分,該變量內容在序列化后無法獲得訪問。
transient只能修飾變量,不能修飾方法和類。注意,本地變量是不能被transient修飾的,如果變量是用戶自定義的變量,則該類需要實現serializable接口。被transient的變量不能被序列化,一個靜態變量不管是否被transient修飾,均不能被序列化。
深入理解的話看這篇文字:https://www.cnblogs.com/lanxuezaipiao/p/3369962.html