transient
关于 @transient 第一次看到这个注解,于是百度一下.
实体类中使用了@Table注解后,想要添加表中不存在的字段,就要使用@Transient这个注解了。
使用 @Transient 表示该属性并非是一个要映射到数据库表中的字段,只是起辅助作用.ORM框架将会忽略该属性
注解可以加在属性上 也可以加在get()上面
一下只是自己做的简单测试的,还望指正.
使用到的有两个@Transient
javax.persistence.Transient;
org.Springframework.data.annotation.Transient;
我对这两个都进行了简单的测试
第一次使用是 org.springframework.data.annotation.Transient 下面的
import org.springframework.data.annotation.Transient;
import javax.persistence.Entity;
import javax.persistence.generatedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "t_student_test_transient")
public class Student {
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private integer age;
@Transient
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Transient
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
结果,字段都自动映射了. 加在属性上面也是一样的效果 数据库字段没有任何改变 @Transient好像没有起作用,我也是菜鸟不懂是因为什么,希望大佬看到能够指出
再使用下javax,persistence下的
import javax.persistence.*;
@Entity
@Table(name = "t_student_test_transient")
public class Student {
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private Integer age;
@Transient
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Transient
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
同样是加在get方法上面,然后看数据库 发现还是没有变化.
这次将注解放在属上上
import javax.persistence.*;
@Entity
@Table(name = "t_student_test_transient")
public class Student {
@Id
@GeneratedValue
private Long id;
private String username;
@Transient
private String password;
@Transient
private Integer age;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
再看数据库,发现 加上@Transient 注解的字段都没有被映射进来.
所以当想要忽略某个字段的,不让其映射数据库时候 可以使此注解@Transient
相关阅读
hadoop的FileSplit简单使用FileSplit类继承关系:FileSplit类中的属性和方法:作业输入:[java] view plain copy print?hadoop@hado
ISO和模板文件的管理 ISO和模板文件通过HTTP或HTTPS协议上传到二级存储中。CloudStack中的模板分为三种:系统模板,内置模板和用户
压缩 压缩文件 语法 gzip 源文件 1 如压缩 b.txt 使用命令 gzip b.txt 即可 注意 压缩为 .gz 文件 源文件会消失 如果想保留源
一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据。因为像在ImageNet上毕竟是一个千万级的
动态规划,存在1元,3元,5元硬币若干,使用最少硬币构成n元
题目描述:存在一元,三元,五元硬币若干,如何用最少的硬币凑够11元。看到最少这个字眼,我们可以进行判断能否通过动态规划进行求解,经过分