用法:

@transient 就是在给某个javabean上需要添加个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。

那么这个注解就可以一用。

只要在你准备添加的临时属性上添加这个注解,然后getter和setter自动完成一下,就可以啦。

[java]  view plain copy
  1. @Document(collection = "streams")
  2. public class Stream implements Serializable,Cloneable {
  3. private static final long serialVersionUID = 1L;
  4. @Transient
  5. private boolean alarmsettingsActive = false;
  6. xxxxxxxxxxxxx
  7. xxxxxxxxxxxxxxxxxx
  8. }

上面的是个人理解,下面呢就是详细说说。

1. transient的作用

我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。

然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。

总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

2. transient使用小结 

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

jpa @Transient相关推荐

  1. (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)

    https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQ nwmj java手册Java 入门教程含有1个附件,如下:java-HelloWorld.gifJav ...

  2. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...

    转自Hibernate JPA中@Transient.@JsonIgnoreProperties.@JsonIgnore.@JsonFormat.@JsonSerialize等注解解释 1.@Tran ...

  3. @Transient com JPA:3个主题!

    Usar @Transient com JPA pode parecerfácil,mas existem 3 coisas que sevocêfizer,podem deixar seucódig ...

  4. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将 ...

  5. SpringBoot JPA多对一 持久化是报错object references an unsaved transient instance - save the transient instanc

    @RequestMapping(value = "/updateRoleOper", method = RequestMethod.POST)@ApiOperation(value ...

  6. Spring Hibernate JPA 联表查询 复杂查询

    (转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...

  7. 3、JPA一些常用的注解

    常用注解有下面这些: ①:@Entity.@Table.@Id.@GeneratedValue.@Column.@Basic ②:@Transient 用于忽略某个属性,而不对该属性进行持久化操作 ③ ...

  8. JPA(七):映射关联关系------映射双向多对一的关联关系

    映射双向多对一的关联关系 修改Customer.java package com.dx.jpa.singlemanytoone;import java.util.Date; import java.u ...

  9. Spring Boot(五):spring data jpa的使用

    Spring Boot(五):spring data jpa的使用 一.spring data jpa介绍 1,JPA是什么 JPA(Java Persistence API)是Sun官方提出的Jav ...

最新文章

  1. Python中sklearn中HistGradientBoostingRegressor回归器配置单调约束参数monotonic_cst提高回归模型的抗噪声以及局部扰动的能力
  2. 转 ofbiz的webservice接口提供(1)-WSDL的生成
  3. Android文档-开发者指南-第一部分:入门-中英文对照版
  4. zemax迈克尔逊干涉仪_zemax非序列模式概述-棱镜的色散与迈克尔逊干涉仪016
  5. case when then else多个条件_CentOS「linux」学习笔记24:if和case多个条件判断
  6. 数论与数学专题练习(一)(201802~201805)
  7. 傅里叶变换的相关函数(笔记02)
  8. 没什么本钱怎么做生意?
  9. Vi的多文件间的复制和文本替换
  10. 乱码插入mac mysql汉字乱码问题解决
  11. (二)UML语言概述
  12. VS C++ sprintf 格式
  13. IntelliJ IDEA 整理代码格式 快捷键
  14. 洛克菲勒留给儿子的38封信
  15. P1972 [SDOI2009]HH的项链 区间查询
  16. 用一个创业故事串起操作系统原理(五)
  17. L1-7 机工士姆斯塔迪奥【C语言】
  18. 阿里云进入Iot Studio
  19. antv g2 x轴两边留边距
  20. 决策树在机器学习的理论学习与实践

热门文章

  1. 贝叶斯公式由浅入深大讲解—AI基础算法入门
  2. strtol的返回值
  3. 项目实训- 基于unity的2D多人乱斗闯关游戏设计与开发(十1、FPS多人化——IK)
  4. 五步搞定Android开发环境部署,架构师必备技能
  5. linux用户无法sudo解决办法
  6. 【JSP】Tomcat安装教程
  7. 李广致死未封侯的原因:是长相不佳!!
  8. 备战双十一购物狂欢节大促的四个重要阶段
  9. http1.1和http2的主要区别
  10. 小组赛-卡希尔替补建奇功 澳大利亚3-1力克日本