jpa @Transient
用法:
@transient 就是在给某个javabean上需要添加个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。
那么这个注解就可以一用。
只要在你准备添加的临时属性上添加这个注解,然后getter和setter自动完成一下,就可以啦。
- @Document(collection = "streams")
- public class Stream implements Serializable,Cloneable {
- private static final long serialVersionUID = 1L;
- @Transient
- private boolean alarmsettingsActive = false;
- xxxxxxxxxxxxx
- xxxxxxxxxxxxxxxxxx
- }
上面的是个人理解,下面呢就是详细说说。
1. transient的作用
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。
然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。
总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
2. transient使用小结
1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。
2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。
3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。
jpa @Transient相关推荐
- (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)
https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQ nwmj java手册Java 入门教程含有1个附件,如下:java-HelloWorld.gifJav ...
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...
转自Hibernate JPA中@Transient.@JsonIgnoreProperties.@JsonIgnore.@JsonFormat.@JsonSerialize等注解解释 1.@Tran ...
- @Transient com JPA:3个主题!
Usar @Transient com JPA pode parecerfácil,mas existem 3 coisas que sevocêfizer,podem deixar seucódig ...
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将 ...
- SpringBoot JPA多对一 持久化是报错object references an unsaved transient instance - save the transient instanc
@RequestMapping(value = "/updateRoleOper", method = RequestMethod.POST)@ApiOperation(value ...
- Spring Hibernate JPA 联表查询 复杂查询
(转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...
- 3、JPA一些常用的注解
常用注解有下面这些: ①:@Entity.@Table.@Id.@GeneratedValue.@Column.@Basic ②:@Transient 用于忽略某个属性,而不对该属性进行持久化操作 ③ ...
- JPA(七):映射关联关系------映射双向多对一的关联关系
映射双向多对一的关联关系 修改Customer.java package com.dx.jpa.singlemanytoone;import java.util.Date; import java.u ...
- Spring Boot(五):spring data jpa的使用
Spring Boot(五):spring data jpa的使用 一.spring data jpa介绍 1,JPA是什么 JPA(Java Persistence API)是Sun官方提出的Jav ...
最新文章
- Python中sklearn中HistGradientBoostingRegressor回归器配置单调约束参数monotonic_cst提高回归模型的抗噪声以及局部扰动的能力
- 转 ofbiz的webservice接口提供(1)-WSDL的生成
- Android文档-开发者指南-第一部分:入门-中英文对照版
- zemax迈克尔逊干涉仪_zemax非序列模式概述-棱镜的色散与迈克尔逊干涉仪016
- case when then else多个条件_CentOS「linux」学习笔记24:if和case多个条件判断
- 数论与数学专题练习(一)(201802~201805)
- 傅里叶变换的相关函数(笔记02)
- 没什么本钱怎么做生意?
- Vi的多文件间的复制和文本替换
- 乱码插入mac mysql汉字乱码问题解决
- (二)UML语言概述
- VS C++ sprintf 格式
- IntelliJ IDEA 整理代码格式 快捷键
- 洛克菲勒留给儿子的38封信
- P1972 [SDOI2009]HH的项链 区间查询
- 用一个创业故事串起操作系统原理(五)
- L1-7 机工士姆斯塔迪奥【C语言】
- 阿里云进入Iot Studio
- antv g2 x轴两边留边距
- 决策树在机器学习的理论学习与实践