我有一个如下所示的抽象类:
@MappedSuperclass
public abstract class BaseEntity {
@Id
Long id;
String name;
//getters and setters
}
两个实体扩展BaseEntity
拳头级别
@Entity
@Table(name= "table1")
public class TValideB extends BaseEntity {
@Column(name = "phone")
String phone;
}
二等
@Entity
@Table(name= "table2")
public class TValide extends BaseEntity {
@Colmun(name = "mail")
String mail;
}
当我尝试保存 TValide 时,出现如下错误无效列“name”
;
在我的 table2 中,名称不存在列。
我的问题是如何忽略此列并保存我的实体?
存在其他方法而不从摘要中删除列名称
类(class)?
最佳答案
我只是在名称中添加 @Column
并使用 insertable=false, updatable=false 编辑我的抽象类,如下所示:
@MappedSuperclass
public abstract class BaseEntity {
@Id
Long id;
@Column(name = "name", insertable=false, updatable=false)
String name;
//getters and setters
}
这种方法避免了我创建大量抽象类或重写重写属性。
关于spring-boot - 如果 Spring Data JPA 表中不存在则忽略列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545468/