# 问题描述
当使用 spring data jpa
开发的时候,会将实体类中的成员变量与表中的字段一一对应,当在实体类中加上一个不与数据库表一一对应的成员变量的时候,此时会报错。
# 解决方法
此时只要在这个成员变量和 get
方法加上注解 @Transient
即可,例如:
@Entity
@Table(name = "user"")
public class User {
private Integer id;
private String username;
@Transient
private String role;
//... 省略其他get,set方法
@Transient
public String getRole () {
return role;
}
}
# 补充知识
Java的 transient
关键字用来表示一个字段不被序列化,而 JPA 的 @Transient
注解用来表示一个字段不被保留在数据库中,即它们的语义是不同的。